【发布时间】:2015-12-01 14:26:09
【问题描述】:
如何在没有类属性和其他变量失去范围并变得未定义的情况下调用 setTimeout? this question regarding variable scope with setTimeout 的答案是使用函数闭包,以便在 setTimeout 期间获取并维护范围内变量的“快照”。然而,这似乎不适用于班级。例如
class MyClass
public var MyVar:Number;
Function A_Closure(){
FunctionC();
};
Function B(){
MyVar = 10;
setTimeout(A_Closure, 1000);
};
Function C(){
trace("MyVar = " + MyVar); // returns Undefined
};
}; // End class
这将为 MyVar 返回未定义。如果我将 Function A_Closure 移动到非类 .as 文件中,一切正常且 MyVar = 10,但这似乎是一种非常老套的方法。有没有公认的方法在类中使用 setTimeout?
对于这个项目,我仅限于使用 AS2(CryEngine 中的 Scaleform)。
谢谢。
【问题讨论】:
标签: flash actionscript scope settimeout actionscript-2