-1

2 つの actionscript3 ファイル (.as) の間で変数を渡すにはどうすればよいですか?

メインの fla ファイルと 3 つのファイルがあり、それぞれにクラスがあります... AS2 には基本的な既知のファイルがありますが、AS3 にはあまりありません

手伝ってくれてありがとう。

4

2 に答える 2

1

Flash のどこからでもいくつかの変数にアクセスしようとしているようです。1 つの方法は、静的メソッドと変数を使用してクラスを作成することです。例えば:

package somenamespace {

    class Registry {

        static private var something_:String;

        public function get something():String {
            return something_;
        }


        public function set something(v:String):void {
            if (something_ === v) return;
            something_ = v;
        }

    }

}

次に、Flash のどこからでもこの変数にアクセスできます。

Registry.something = "example";
于 2012-04-19T14:09:34.300 に答える
0

クラス間でデータを渡す正しい方法は、参照渡しです。これは、クラスを分離できるため、グローバル スコープでデータを維持するよりも優れています。

クラスと渡そうとしているデータを見ずに具体的なアドバイスをするのは難しいですが、ドキュメント クラス (Main.as) と子クラス (Child.as) を使用した簡単な例を次に示します。

Main.as:

package {
    class Main extends MovieClip
    {
        private var someData:String;
        //constructor
        function Main()
        {
            //create the data
            someData = "my string";

            //create an instance of child
            var child:Child = new Child(someData);
        }
    }
}

Child.as:

package {
    class Child
    {
        private var someData:String;
        //constructor
        function Child(initData:String)
        {
            someData = initData;
            trace(someData); // my string
        }
    }
}

あなたの場合、あなたが持っているクラスをインスタンス化し、それらの間の関係を管理するためにコントローラークラスが必要なようです。これは、上記の Main クラスのバリエーションであり、3 つのクラスすべてをインスタンス化し、それらのデータを抽出して渡します。

于 2012-04-19T14:09:17.717 に答える