Adobe Flash CS3 - "do something" 仅当播放头击中定义的关键帧时

Adobe Flash CS3 - "do something" only when playhead hit a defined keyframe

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

所以我点击按钮后,它会等到播放头碰到最近定义的关键帧,然后才会执行我想要的功能。

感谢任何帮助。

有几种方法可以做到这一点。最简洁的方法是使用名为 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 的当前生命周期阶段,这是非常不太可能