2014-01-31 60 views
0

我正在研究AS3中的Flash賽車遊戲,玩家通過錐體標記的路線進行導航。錐體和汽車被包含在影片剪輯「gamesprite」中。我爲錐體創建了一個數組,以檢查汽車和每個錐體之間的碰撞。AS3#1034:類型強制失敗:無法轉換爲flash.display.DisplayObject

public var cones:Array; 

public function findCones() 
    { 
     cones = new Array(); 
     for(var i=0;i<gamesprite.numChildren;i++) 
     { 
      var mc = gamesprite.getChildAt(i); 
      if (mc is Cone) 
      { 
       cones.push(Cone); 
       trace(cones); 
      } 
     } 
    } 

在我的遊戲循環函數後面我有這個來檢查gamesprite.car影片剪輯和數組中的每個錐之間的衝突。

 for(var j:Number=0;j<cones.length;j++) 
      { 
       if (gamesprite.car.hitTestObject (cones[j])) 
       { 
        trace("cones and car colliding"); 
       } 
      } 

測試遊戲時收到此錯誤。

TypeError:錯誤#1034:類型強制失敗:無法將Cone $轉換爲flash.display.DisplayObject。 at Racing/gameLoop()

我可能錯過了一些簡單的東西,但無法弄清楚。

回答

0

你正在向你的數組推送一個錯誤的東西。你在那裏cones.push(Cone);,但你應該cones.push(mc);

+0

啊哈!我知道這很愚蠢。非常感謝! – user3168320

相關問題