2 つの actionscript3 ファイル (.as) の間で変数を渡すにはどうすればよいですか?
メインの fla ファイルと 3 つのファイルがあり、それぞれにクラスがあります... AS2 には基本的な既知のファイルがありますが、AS3 にはあまりありません
手伝ってくれてありがとう。
2 つの actionscript3 ファイル (.as) の間で変数を渡すにはどうすればよいですか?
メインの fla ファイルと 3 つのファイルがあり、それぞれにクラスがあります... AS2 には基本的な既知のファイルがありますが、AS3 にはあまりありません
手伝ってくれてありがとう。
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";
クラス間でデータを渡す正しい方法は、参照渡しです。これは、クラスを分離できるため、グローバル スコープでデータを維持するよりも優れています。
クラスと渡そうとしているデータを見ずに具体的なアドバイスをするのは難しいですが、ドキュメント クラス (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 つのクラスすべてをインスタンス化し、それらのデータを抽出して渡します。