Actionscript 3 禁用特定帧数的按钮翻转Flash actionscript 3.0

Actionscript 3 禁用特定帧数的按钮翻转Flash actionscript 3.0,actionscript-3,function,button,event-listener,Actionscript 3,Function,Button,Event Listener,我正在构建一个带有可选按钮的区域,这些按钮每10帧转换并显示一次。在这10帧过渡期间,我不希望按钮是可选择的,如果可能的话,禁用滚动 我已经尝试在addEventListener上创建一个If语句,这样它只在currentFrame为11、21、31等时工作,但这不起作用。然后,我还在事件侦听器所关联的函数上尝试了相同的原则,但仍然没有成功 有人有什么想法吗?你可以做两件事: 1: 您可以手动添加和删除侦听器。 因此,当您开始转换时,侦听器将被删除, 然后,当转换结束时,将添加侦听器 2: 您可

我正在构建一个带有可选按钮的区域,这些按钮每10帧转换并显示一次。在这10帧过渡期间,我不希望按钮是可选择的,如果可能的话,禁用滚动

我已经尝试在addEventListener上创建一个If语句,这样它只在currentFrame为11、21、31等时工作,但这不起作用。然后,我还在事件侦听器所关联的函数上尝试了相同的原则,但仍然没有成功

有人有什么想法吗?

你可以做两件事:

1: 您可以手动添加和删除侦听器。 因此,当您开始转换时,侦听器将被删除, 然后,当转换结束时,将添加侦听器

2: 您可以创建一个自定义侦听器,用于检查帧的状态,以查看它是否应该执行其主体

例如:

public void listener(event:Event) {
    if (event.getSource().stage.getCurrentFrame() == 10) {//This is an example, I don't know whether this specific way will work.
        //Run your code here
    }
}

为ENTER_FRAME事件添加侦听器,并将if放入回调函数中

比如说

 this.addEventListener (Event.ENTER_FRAME, onEnterFrame);

 function onEnterFrame (evt:Event):void {
 if (currentFrame == 21) {
       yourButton.enabled = false;
 } else {
       yourButton.enabled = true;
 }

 }

问题是1。我有一个框架,其中包含控制整个文档的操作,还有2个框架。单击按钮时,将从currentFrame计算时间线下一个要停止的目标帧,因此必须仅在有效帧上单击按钮。我怎样才能让一个监听器像你提到的那样检查“帧的状态”?我试过了,但由于某种原因它不起作用。我已经有一个ENTER_FRAME事件,所以它可能没有很好地集成…我没有测试它,我编写的代码只是一个如何实现它的示例