我想知道如何在 Adobe Flash CS3 中创建一个将执行功能的按钮(如 gotoAndPlay(51)但仅当播放头从时间轴上击中定义的关键帧时。 这是一张可以更好地解释我想要做什么的图
所以在我点击按钮后,它会等到播放头碰到最近的定义关键帧,然后它才会执行我想要的功能。
任何帮助表示赞赏。
我想知道如何在 Adobe Flash CS3 中创建一个将执行功能的按钮(如 gotoAndPlay(51)但仅当播放头从时间轴上击中定义的关键帧时。 这是一张可以更好地解释我想要做什么的图
所以在我点击按钮后,它会等到播放头碰到最近的定义关键帧,然后它才会执行我想要的功能。
任何帮助表示赞赏。
有几种方法可以做到这一点。最简洁的方法是使用一个未记录的*功能,称为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 的当前生命周期阶段,这不太可能