如何使用类约束一个影片剪辑只播放一次并移动到另一个影片剪辑



我一直在一个应用程序中,在主屏幕上有一个电影剪辑ball_1重复自己,只要任何按钮按下另一个电影剪辑ball_2开始,以前的电影剪辑ball_1消失。我希望ball_2只播放一次,然后消失,而影片剪辑ball_1返回主屏幕。我使用基于类的脚本。

当前代码:

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函数。

最好的方法是使用Event,在上面相同的代码上下文中,放置如下:
ball_2.addEventListener(Event.COMPLETE, clip1Complete);

然后,在ball_2时间轴的最后一帧上,输入:

stop;
dispatchEvent(new Event(Event.COMPLETE));
或者,您可以放弃事件侦听器,直接在ball_2的最后一帧调用该函数,如下所示:
stop();
MovieClip(parent).clip1Complete();

相关内容

最新更新