如何限制一个影片剪辑只播放一次并使用 class 移动到另一个影片剪辑?
how to ristrict a movie clip to play only once and move to another movie clip using class?
我一直在开发一个应用程序,其中在主屏幕上有一个影片剪辑 ball_1 会自动重复,只要按下任何按钮,另一个影片剪辑 ball_2 就会开始播放之前的影片剪辑 ball_1 消失了。我希望 ball_2 只播放一次,消失,并且影片剪辑 ball_1 到 return 回到主屏幕。我正在使用基于 class 的脚本。
当前代码:
BTN_1.addEventListener(MouseEvent.CLICK,playClip_1);
function playClip_1(e:MouseEvent):void {
ball_2.visible = true;
ball_2.gotoAndPlay(2);
ball_1.visible = false;
}
好的,我认为现在几乎没有足够的信息来回答这个问题。
首先,您需要两个函数,一个显示 ball_1
,一个显示 ball_2
function playClip_1(e:MouseEvent = null):void {
ball_2.visible = true;
ball_2.gotoAndPlay(2);
ball_1.visible = false;
ball_1.stop(); //no sense having it keep playing when not visible
}
//function to call when ball_2 finishes it's timeline
function clip1Complete(e:Event = null):void {
ball_2.visible = false;
ball_1.visible = true;
ball_1.play();
}
现在,您需要一种方法让 ball_2 在到达时间线末尾时调用 clip1Complete
函数。
最好的方法是使用一个事件,在与上面相同的代码上下文中,把这个:
ball_2.addEventListener(Event.COMPLETE, clip1Complete);
然后,在 ball_2
时间轴的最后一帧,放上:
stop;
dispatchEvent(new Event(Event.COMPLETE));
或者,您可以放弃事件侦听器并直接在 ball_2
的最后一帧调用该函数,如下所示:
stop();
MovieClip(parent).clip1Complete();
我一直在开发一个应用程序,其中在主屏幕上有一个影片剪辑 ball_1 会自动重复,只要按下任何按钮,另一个影片剪辑 ball_2 就会开始播放之前的影片剪辑 ball_1 消失了。我希望 ball_2 只播放一次,消失,并且影片剪辑 ball_1 到 return 回到主屏幕。我正在使用基于 class 的脚本。
当前代码:
BTN_1.addEventListener(MouseEvent.CLICK,playClip_1);
function playClip_1(e:MouseEvent):void {
ball_2.visible = true;
ball_2.gotoAndPlay(2);
ball_1.visible = false;
}
好的,我认为现在几乎没有足够的信息来回答这个问题。
首先,您需要两个函数,一个显示 ball_1
,一个显示 ball_2
function playClip_1(e:MouseEvent = null):void {
ball_2.visible = true;
ball_2.gotoAndPlay(2);
ball_1.visible = false;
ball_1.stop(); //no sense having it keep playing when not visible
}
//function to call when ball_2 finishes it's timeline
function clip1Complete(e:Event = null):void {
ball_2.visible = false;
ball_1.visible = true;
ball_1.play();
}
现在,您需要一种方法让 ball_2 在到达时间线末尾时调用 clip1Complete
函数。
最好的方法是使用一个事件,在与上面相同的代码上下文中,把这个:
ball_2.addEventListener(Event.COMPLETE, clip1Complete);
然后,在 ball_2
时间轴的最后一帧,放上:
stop;
dispatchEvent(new Event(Event.COMPLETE));
或者,您可以放弃事件侦听器并直接在 ball_2
的最后一帧调用该函数,如下所示:
stop();
MovieClip(parent).clip1Complete();