Adobe Flash CS3 - «делать что-то» только тогда, когда точка воспроизведения достигает определенного ключевого кадра - PullRequest
0 голосов
/ 25 сентября 2018

Я хотел бы знать, как создать в Adobe Flash CS3 кнопку, которая будет выполнять функцию (например, gotoAndPlay (51) , но ONLY , когда точка воспроизведения достигает определенного ключевого кадра с временной шкалы. Вот чертеж, который лучше объясняет, что я хочу сделать

Так что после того, как я нажму кнопку, он будет ждать, пока точка воспроизведения не достигнет ближайшего определенного ключевого кадра, только тогда он выполнитсяМоя желаемая функция.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 25 сентября 2018

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

...