Adobe Flash CS3-仅在播放头击中定义的关键帧时才“执行操作”

时间:2018-09-25 16:54:48

标签: actionscript-3 flash adobe cs3

我想知道如何在Adobe Flash CS3中创建一个按钮,该按钮将执行功能(例如gotoAndPlay(51),但是当播放头击中定义的关键帧时)从时间轴。 Here is a drawing that does explain better what I want to do

因此,在单击按钮之后,它将等到播放头击中最接近的已定义关键帧,然后才会执行我想要的功能。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

有几种方法可以完成此操作。最简洁的方法是使用称为addFrameScript

的未记录*功能

该方法所能做的就是在运行时将代码放置在特定的框架上。

因此,您可以执行以下操作:

//listen for the click on your button
myButton.addEventListener(MouseEvent.CLICK, buttonClickHandler);

//which frame should the gotoAndPlay run on?
var targetFrame:int = 19; //this is actually frame 20, since frames are 0 based in script

//this function will run on the above frame
function goto51(){
    //goto frame 51
    gotoAndPlay(51);
    //remove the frame script
    addFrameScript(targetFrame, null);
}

function btnClickHandler(e:Event) {
    //use addFrameSCript to run the function goto51 on the target frame
    addFrameScript(targetFrame, goto51);
}

*-应该指出,使用一种语言的未记录功能可能会在将来的版本中删除该功能,但是考虑到AS3当前的生命周期阶段,这种可能性很小