0

私は adobe flash cs6 と actionscript を初めて使用し、簡単なタスクを実行するのに苦労しています。次のような新しいプロジェクトとドキュメント クラスを作成しました。

package  {

    import flash.display.MovieClip;

    public class MyClass extends MovieClip {

        public function MyClass() {

        }
}

ここでやりたいことは、実行時にプログラムでステージにイメージを追加することだけです。

これまでのところ、シンボルに変換した mytestimage という名前のライブラリに画像をインポートしました。mytestimage シンボルには、次のようなクラス mytestimage へのリンケージがあります。

package  {

    import flash.display.Sprite;
    import flash.events.Event;

    public class mytestimage extends Sprite {

        public function mytestimage () {
            addEventListener(Event.ENTER_FRAME, enterFrame);
        }
        private function enterFrame(e:Event):void {

            }
        }

}

次に、ドキュメント クラスを次のように更新しました。

package  {

    import flash.display.MovieClip;

    public class MyClass extends MovieClip {

        public function MyClass() {
            var myMovieClip = new mytestimage();
            addChild(myMovieClip);
        }
}

プロジェクトをデバッグすると、エラーは発生せず、画像は読み込まれません。表示されるのは白いステージだけです。誰かが私がここで間違っていることを理解するのを手伝ってくれますか? ありがとう

4

1 に答える 1

0

ほとんどの場合、ドキュメント クラスのコンストラクターは実行されません。あなたのコードには何も問題がないように見えるので、おそらく「何か別のもの」です。

Flash には、「特定のドキュメント クラスが見つからない場合に通知しない」という厄介な問題があります。(つまり、必要なファイルへの間違ったパス/ライブラリリンケージ。新しいファイルを自動作成するだけです。それがあなたがやりたいと思っていることです...)

この問題のデバッグを開始する最も簡単な方法は、次のようなドキュメント クラスのコンストラクター内でトレースを行うことです。public function MyClass() { trace("ctor()") };

そうすれば、それが実際の「イメージの問題」なのか、それとも正しいクラスを見つけられなかっただけなのかを知ることができます。

ファイルの物理的な場所によっては、フラッシュ アクション スクリプト設定内の「ソース パス」内にソース フォルダーへのリンクを追加する必要がある場合があります。(ファイル/公開設定)

また、「ドキュメント クラス」と呼ばれるものがライブラリ アイテムであり、そのライブラリ アイテムにリンケージが存在する可能性もあります (そのようには聞こえません)。その場合、実行するにはクリップをステージに配置する必要があります。(しかし、これはあなたがしたことのようには聞こえませんでした)

これで問題が解決しない場合は、お気軽にチャットを開始するか、ファイルを共有してください。調査します。

新しいツールを使って新しい言語で新しいプロジェクトを始めるのはいつも面倒です。頑張ってください! :o)

于 2013-03-31T13:02:49.170 に答える