首先,让我开始说我对使用Adobe Animate不熟悉。我已经发布了HTML5 canvas项目,并试图在到达框架时倒退时间轴。这就是我正在尝试的:
在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)
,结果相似。
如果我在if语句之前执行console.log(pos)
,则可以看到时间轴已倒带,但是动画播放继续在停止的位置播放(第44帧),并一直持续到动画结束。时间线。
有人知道我在做什么错吗?为什么时间轴位置正确显示但动画没有沿着时间轴位置显示?