2012-02-18 22 views
0

最初に、私はフラッシュ開発に全く新しいが、OOPではないと言わせてください。私の任命は、オブジェクト指向の方法でリアルタイムのゲームループを使ってFlashゲームを作ることです。私はガイドをオンラインでフォローしてきましたが、私は基本があると思っていますが、私のプレーヤーのスプライトは表示されません。プレイヤーのスプライトが表示されない

イメージをFlashに読み込んだ後、Playerというシンボルに変換しました。これがムービークリップです。私はActionScriptのためにそれをエクスポートし、クラスcom.Playerを呼び出しました。

また、ドキュメントのクラスをcom.Engineに設定しました(これはゲームループを持ち、他のクラスにメソッドを呼び出す予定です)。

次に、.flaと同じディレクトリにcomという名前のディレクトリを作成しました。そのディレクトリの中に、私はEngine.asPlayer.asを作り、ここではそれらの両方のためのコードです:

package com { 
    import flash.display.MovieClip; 
    import flash.display.Stage; 

    public class Engine extends MovieClip { 
     public function Engine() { 
      // Create a player instance 
      var player:Player = new Player(); 
      stage.addChild(player); 
      player.x = stage.stageWidth/2; 
      player.y = stage.stageHeight/2; 

     } 
    } 
} 

- プレイヤーが中央に表示させる必要があり、私が知っていることによる

package com { 
    import flash.display.MovieClip; 

    public class Player extends MovieClip { 
     public function Player() { 

     } 
    } 
} 

、私はそれを実行すると画面が、それはありません。私はtrace("hello world")を使用してEngineのクラスとコンストラクタが呼び出されていることを確認しました。私はまた、Playerクラスのコンストラクタが同じメソッドを使用して呼び出されていることも知っています。私はちょうどプレーヤーが画面に表示されない理由を得ることはできません。

私のライブラリーのPlayerシンボル(正しい用語は?)をステージにドラッグすると、プレーヤーのスプライトが表示されます。画像が添付されていることがわかります。

誰かが間違っている可能性がありますか?事前にありがとう:)

+0

を追加していることを確認してください、 "であります「ActionScriptの書き出し」がチェックされ、クラス "フィールドには、" com.Player "が表示されますか? – rid

+0

はい、はい:)基本クラスはありませんが、それは重要ですか? –

+0

基本クラスは 'flash.display.MovieClip'である必要があります。 – rid

答えて

0

あなたの中に何かスプライトがありますか?あなたはそう、その名前から拡張する必要があります.FLAファイルか何かでスプライトをした場合:

publicクラスをPlayerがPlayerSpriteNameThatIsInYourFla

を拡張したり、あなたのクラスかどうかを確認するためにあなたのプレーヤーのクラスのいくつかのグラフィックスを描画するようにしてください実際に表示されます。

public class Player extends MovieClip() 
{ 
    this.graphics.beginFill(0x00FF00); 
    this.graphics.drawRect(0,0,100,100); 
    this.graphics.endFill(); 
} 

すると、あなたは右のライブラリからプレーヤーのシンボルをクリックし、「プロパティ...」に行けば、すべての正しい輸入は:)

関連する問題