我在摆弄 Adobe Edge 动画,偶然发现了一个奇怪的问题,希望有人能帮助我。
我想要做的是,访问在舞台上声明的函数中设置的变量......对于我的基本测试,我在 compositionReady 中启动一个计时器(setInterval),以及一个计时器计数器变量以在运行时移动一个符号,这一切都有效太好了,接下来是有一个基本按钮来停止此计时器事件,这是我的问题,因为我已将计时器设置为 compositionReady 函数中的变量,所以我可以访问血腥变量,或者至少我可以弄清楚如何。
有什么建议吗?:) 我对声明变量的想法错了吗?,如果我在舞台的根目录中设置变量,我可以将它们作为全局变量访问,但这对于来自 Actionscript 3 的计时器(setInterval 函数)来说效果不佳,它总是在拍摄新事件之前检查“舞台”是否已正确启动是个好主意:)
这是我从舞台复制的代码.. 我在舞台 textSymbol 上有两个符号,另一个称为 RoundRect 是按钮。
Symbol.bindElementAction(compId, symbolName, "document", "compositionReady", function(sym, e) {
var timerVar = 0;
var timer = setInterval(loop, 33);
// OUR LOOP FUNCTION
function loop(){
timerVar++;
sym.$('textSymbol').css('left', timerVar);
}
});
//Edge binding end
Symbol.bindElementAction(compId, symbolName, "${_RoundRect}", "click", function(sym, e) {
// SET THE SYMBOL BACK TO 0, UPDATED TO THE VARIABLE WITHIN THE TIMER EVENT
sym.$('textSymbol').css('left', 0);
alert( sym.getComposition().getStage().getVariable('timerVar') ); // return undefined
});
//Edge binding end