Прежде всего, позвольте мне начать с того, что я не знаком с работой с Adobe Animate.Я опубликовал проект холста HTML5 и пытаюсь перемотать временную шкалу, когда она достигает фрейма.Вот что я пытаюсь:
Из функции fnStartAnimation
:
stage.addEventListener("tick", handleTick)
handletick
определяется как:
let pos = parseInt(stage.children[0].timeline.position);
// when timeline reaches frame 44
if(pos === 44) {
// rewind to frame 40
stage.stop(40);
setTimeout(() => {
stage.play();
}, 2000);
}
Код вышеэто просто пример.То, что я пытаюсь сделать, это как только временная шкала достигает 44 кадра, перемотать назад до 40 кадра, подождать 2 секунды и затем воспроизвести снова.В основном это будет цикл навсегда между кадрами 40 и 44. Я также пытался вручную установить положение временной шкалы, например stage.children[0].timeline.setPosition(40)
и stage.children[0].gotoAndPlay(40)
, с похожими результатами.
Если я сделаю console.log(pos)
доЕсли оператор if, я вижу, что временная шкала перемотана, но воспроизведение анимации продолжает воспроизводиться там, где оно было остановлено (кадр 44), и продолжается до конца временной шкалы.
Кто-нибудь знает, кто яделать неправильно?Почему позиция на временной шкале отображается правильно, а анимация не отображается вдоль позиции на временной шкале?