Adobe EdgeAccess 函数中的变量

adobe edgeaccessing variable within function

本文关键字:变量 函数 EdgeAccess Adobe      更新时间:2023-09-26

我摆弄着Adobe Edge动画,偶然发现了一个奇怪的问题,我希望有人可以帮助我。

我想做的是,访问在舞台上声明的函数中设置的变量......对于我的基本测试,我在 compositionReady 中启动了一个计时器 (setInterval),以及一个计时器计数器变量来在运行时移动符号,这一切都很好用,接下来就是有一个基本的按钮停止这个计时器事件,这是我的问题,因为我已将计时器设置为 compositionReady 函数中的一个变量,我可以访问血腥变量, 或者至少我可以弄清楚怎么做。

有什么建议吗? :)我对声明变量的想法是错误的吗?,如果我在阶段的根目录中设置变量,我可以将它们作为全局变量访问,但这对我的计时器(setInterval 函数)来说效果不佳,来自 Actionscript 3,在拍摄新事件之前检查"舞台"是否正确初始化总是一个好主意:)

这是我从舞台复制的代码......我在舞台文本符号上有两个符号,另一个叫做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

在我的情况下删除 var 实际上有所帮助。 我创建了 GSAP 时间线变量,并希望在鼠标悬停时暂停它。 由于鼠标悬停无法访问在 creationComplete 中声明的变量,因此删除"var"让我从鼠标悬停功能中暂停时间线。

只需删除变量声明前的"var",以便它是全局的。