0

我在 Flash 中使用时间线动画和 JavaScript 来导出 HTML5 画布动画。我在时间线开始时声明的变量在时间线结束时被调用时未定义。例如:

var myCounter = 0; // frame 1



setTimeout(function(){
    if(myCounter < 1){
        exportRoot.play("replay");
    } else{this.stop();}
},5000); // located in last frame

为什么myCounter在最后一帧未定义?我试图循环这个几次。另外,我在哪里可以找到用于此的方法,因为传统的 JavaScript 似乎并不总是有效(也许是我)?

4

1 回答 1

0

您应该为变量添加前缀,this.以便它们在整个动画过程中保持可访问性。

this.myCounter = 0; // frame 1
setTimeout(function(){
    if(this.myCounter < 1){
        exportRoot.play("replay");
    } else{this.stop();}
},5000); // located in last frame
于 2015-07-05T18:59:11.707 回答