flashfirebug As3控制台计时器或setInterval无法正常工作

时间:2012-05-14 07:46:29

标签: actionscript-3 flash actionscript firebug

我曾尝试在FlashFirebug插件的as3控制台中使用计时器,但它不起作用(尝试了几种组合)。计时器代码如下:

import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.Sprite;    

var myTimer = new Timer(1000, 2);
myTimer.addEventListener(TIMER, timerHandler);
myTimer.start();

function timerHandler(event:TimerEvent){trace("timerHandler: ");}

//但它会出现此错误:

Error #1034: Type Coercion failed: cannot convert r1.deval.rt::FunctionDef@50ef781 to Function.

//也尝试使用此代码的setInterval:

import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.Sprite;
import flash.utils.setInterval;
function d(){trace("cc");}
setInterval(d, 2000);

//但是控制台错误说:

Error: Call to a possibly undefined method.

//可能需要导入一些东西。尝试导入“import flash.utils.setInterval;”但是给出了这个错误:“错误:您必须先导入该类才能实例化它。例如,import flash.display.MovieClip;”

你能帮帮我吗? timer或setInterval函数? 谢谢, 约翰

5 个答案:

答案 0 :(得分:0)

我不确定您收到的错误消息,但在为您的计时器分配事件监听器时,您的代码中确实存在错误。您需要从TimerEvent类访问事件名称常量,如下所示:

import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.Sprite;    

var myTimer = new Timer(1000, 2);
myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
myTimer.start();

function timerHandler(event:TimerEvent){trace("timerHandler: ");}

advantages of using the ActionScript 3.0 Timer class over setInterval上有一个不错的解释。

答案 1 :(得分:0)

好吧,看起来没有办法实现这一目标。 FlashFirebug使用D.eval库,我现在无法找到它支持定时器或间隔。

答案 2 :(得分:0)

我不确定你是否已将它排序但看起来像是:

var num:int = setInterval(d, 2000);

如果导入导入flash.utils.clearInterval;你可以像以下一样阻止它:

clearInterval(num)

答案 3 :(得分:0)

问题在于这一行:

myTimer.addEventListener(TIMER, timerHandler);

应该是:

myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
//              add this ^^^^^^^^^^^

答案 4 :(得分:0)

这很老了。但回答它是为了帮助将来的任何人。

仍然在批准队列中的

FlashFirebug 4.8.0(在回答时)应该允许您在正在运行的SWF中注入SWF文件。

当您使用控制台达到限制时,这将允许您使用完整的AS3功能。