Есть несколько способов сделать это.Наиболее краткий способ - использовать недокументированную * функцию, называемую 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, это очень маловероятно