2013-05-05 32 views
0

因此,我正在開發一個遊戲阻塞的排序遊戲,而且我的AS3技能仍然有點不確定。當試圖添加EventEventListener時,AS3錯誤1067(隱式強制)

我有一個InputManager.as,它確定設備是否支持觸摸,然後在需要它的類中抓取該信息。我有

問題是:

C:\GameDev\Progressive Bytes\Dan\Scripts\Screens\Buttons.as, Line 55 1067: Implicit coercion of a value of type String to an unrelated type Function.

這裏是哪裏出了問題:

 if(InputManager.isTouch){ 
      this.addEventListener(TouchEvent.TOUCH_BEGIN, TouchEventHandler); 
     } else { 
      this.addEventListener(MouseEvent.MOUSE_OVER, over); 
     } 

這是按鈕的構造函數。

我已經做了一些四處搜尋,但我似乎無法找到有關此問題的事件監聽器上的1067的任何答案。但是,正如我所說的,與AS3類似。

謝謝!

+0

你能標記哪條線正是導致錯誤?謝謝 – phisch 2013-05-05 14:19:20

+0

明白了。 結果addEventListener認爲over函數是一個字符串,因爲(雖然我還沒有找到它),一個公共變量:String被聲明在其他地方。 我剛剛將函數的名稱更改爲Over(),現在它可以工作。 – DanTheMan 2013-05-05 14:49:54

+0

處理程序的命名約定保持代碼簡單直接,如:onTouchBegin或touchBeginHandler和onMouseOver或mouseOverHandler。 – 2013-05-05 22:20:16

回答

0

這是錯誤的行:

this.addEventListener(TouchEvent.TOUCH_BEGIN, TouchEventHandler); 

你必須明白的是,第一個參數是與事件的名稱的字符串,第二個參數必須是一個函數,你傳遞一個類引用。

我假設超過參數在4行是一個函數,並將爲您工作的罰款。 此外,我假設TouchEvent.TOUCH_BEGIN屬性是一個字符串。

相關問題