質問

事実:

  • 私には2つのクラスがあります:エンティティと船。Entity は MovieClip を拡張し、Ship は Entity を拡張します。
  • Ship.as クラス ファイルに関連付けられた MovieClip があります。

重要なのは、Ship オブジェクトを表示、回転、移動できることです。ただし、タイムライン内の希望の場所にポインターを変更することはできません。要するに:gotoAndStop(n) からの応答が成功しません。それはうまくいきません。

前もって感謝します。

私はすでに試しました:

  • クラス ファイルの内外でムービークリップをキャストします。
  • flash.utils.* のインポート
  • パラメーターを数値から文字列に変更します (フレーム ラベルの場合)。

私にとってうまくいった唯一の方法は、Entity からではなく MovieClip から直接 Ship を派生させることです。しかし、それは望ましくない最後の手段です。

ソース ファイルはここからダウンロードできます。 http://cid-7b6cf3fa8e7f0691.skydrive.live.com/self.aspx/ActionScript%20Exercises/Asteroids.zip

役に立ちましたか?

解決

  

``「選択」壊れていない

     

OSやコンパイラ、あるいはサードパーティの製品またはライブラリのバグを見つけることは稀です。バグがアプリケーションの中で最も可能性があります。

     

-The実用プログラマ

Ship.asにおける非コメント行93-101

Ship.asにライン121をコメントアウト

他のヒント

追加してみてください

輸入flash.utils *;ます。

HTH

あなたは、文字列、または文字列から数値に数からgotoAndStop()の引数を変更してみてください可能性があります。 (どのフレームラベルを追加する必要があります。)私は前にこれで少し問題がありました。

それは奇妙です。私は、ムービークリップとして船をキャストしようとするだろう -

MovieClip(myShipVar).gotoAndStop(1)

私は、MovieClipの方法は、単にムービークリップの延長の延長だ何かに動作しないこれらの線に沿って奇妙な行動を、経験した - しかし、私はなぜあなたを伝えることができませんでした。あなたはそれが動作できるようにする必要があり、そのメソッド呼び出しのムービークリップとしてそれをキャストした場合 - 私はこれについての詳細を知っている誰もが応答するかどうかを確認するために、このスレッドに目を維持するつもりです。

私が困ったときに私ができる代わりに、組成物を用いるほとんど常に前に延びてを持っていました。 私はこの問題をこのように解決します:

これにあなたのライブラリにある船のムービークリップのリンケージIDを変更します。      クラス:shipAsset      ベースクラス:flash.display.MovieClipと

ship.asでは、プロパティpublic var「資産」を作成し、それの新しいインスタンスを作成し、このような船インスタンスの表示リストに追加します。      資産=新しいshipAsset();      addChild(アセット);

Main.asでは、そのようにタイムラインを制御します。      ship.asset.gotoAndStop( 'ブースト');

助け

希望!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top