2012-05-14 79 views
2

我試圖從FlashFirebug插件使用as3控制檯中的計時器,但它不起作用(嘗試過幾種組合)。計時器代碼是這樣的:flashfirebug As3控制檯計時器或setInterval不工作

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::[email protected] 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. 

//可能需要t o導入一些東西。嘗試過導入「import flash.utils.setInterval;」但出現此錯誤:「錯誤:您必須先導入類才能實例化它,例如import flash.display.MovieClip;」

你能幫我嗎?定時器或setInterval函數? 謝謝, 約翰

回答

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

+0

似乎沒有timerEvents,在這個控制檯...因爲它給出的錯誤.. – john

0

那麼,看起來像沒有辦法做到這一點。 FlashFirebug使用D.eval庫,我無法找到它現在支持定時器或間隔。

+0

我已經問過o-minds但他們沒有回覆..它只使用D.eval?你確定嗎?..所以它是非常有限的..這個庫是否支持回調?..我認爲不是因爲試圖在Flash中設置一個回調以對javascript定時器做出反應並且無法使其正常工作..? ... – john

+0

錯誤#錯誤#1034:類型強制失敗:無法將r1.deval.rt :: FunctionDef @ 50ef781轉換爲函數。EVAL。是的,我沒有找到任何方法來添加事件監聽器或類似的東西... – Art

+0

damnn ...非常糟糕...沒有辦法做一些自動腳本到控制檯..一開始我想這個錯誤是關聯到一個缺少導入庫,...你知道任何方式來自動打印跟蹤到JavaScript控制檯沒有任何計時器? ..yeah這不能沒有計時器或回調計時器..不管怎麼樣藝術:P – john

0

我不知道你整理文件,不過它看起來像:

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

,如果您導入進口flash.utils.clearInterval;你可以阻止它這樣的:

clearInterval(num) 
0

的問題是在這條線:

myTimer.addEventListener(TIMER, timerHandler); 

它應該是:

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

這是很老。但回答它以幫助任何人在未來。

FlashFirebug 4.8.0哪些仍在審批隊列中(在回答時)應使您能夠在正在運行的SWF中注入SWF文件。

當您遇到控制檯的限制時,您可以使用完整的AS3功能。