2012-01-26 18 views
1

hitTestObjectで何らかの問題が発生しましたが、Flashは私の船を表示オブジェクトに変換できません。クラスは、私は何が起こっているのか分からないで開始するスプライトを拡張:AS3:エラー#1034:強制型変換に失敗しました:flash.display.DisplayObjectに変換できません

コンパイルエラーは、この例を示します)

TypeError: Error #1034: Type Coercion failed: cannot convert Ship$ to flash.display.DisplayObject. 
at Control/controlgame() 

コントロール/ controlgameを(これです:

デバッグを使用して
function controlgame(e:Event) { 
     for (var i = 0; i < wprojectiles.length; i ++) { 
      if (wprojectiles[i].x < -200 || wprojectiles[i].x > 750 || wprojectiles[i].y < -200 || wprojectiles[i].y > 600) { 
       parent.removeChild(wprojectiles[i]); 
       wprojectiles.splice(i,1); 
      } 
      if (wprojectiles[i].hitTestObject(Ship)) { 
       parent.removeChild(wprojectiles[i]); 
       wprojectiles.splice(i,1); 
      } 
     } 
    } 

GERは、私はこのエラーを取得:

TypeError: Error #1034: Type Coercion failed: cannot convert Ship$ to flash.display.DisplayObject. 
at Control/controlgame()[C:\Users\Harry\Desktop\Flash Games\Games\Dodge\Control.as:29] 

は、上記のスニペットで見られるライン29は、このです:

if (wprojectiles[i].hitTestObject(Ship)) { 

はここに私の髪を引き裂く、私は考えることができるすべてを試してみましたが、私はこのエラーを取得します毎日、私が何をしても!助けはとてもひどく高く評価されるでしょう!

ありがとうございます。

E:それは関連性を負う場合は、これが私のドキュメントクラスファイルである

答えて

1

はどこにShip宣言したのですか?インスタンスの代わりにClassをテスト用に使用しているようです... Ship = new ShipClass()のようなものがありますか?

+0

私の船クラスは船舶と呼ばれています。物事を変えて、どうやって行くのか教えてください。 – hazdog

+0

ダイスはなく、問題は同じままです。もし私が "var s = new Ship()"を入れようとするとsが定義されていないので、私はタイムライン/ステージ上に私の船を持っています。また、私はちょうど編集しました。これはドキュメントクラスであることが何か違いを生みますか?私はヒットテストオブジェクトの前にこの問題を抱えていない。ありがとう。 – hazdog

+0

文書クラスをお持ちの場合は、 'public var s:Ship = new Ship();'のような宣言をしてください。次に、それは未定義ではありません。 – bummzack

関連する問題