2011-11-12 5 views
1

クラスAで表されるライブラリコンポーネントがありますが、このクラスのコンストラクタにはいくつかのパラメータが必要です。クラスAのコンストラクタにパラメータを追加する方法、デザイン時にステージにあるMovieclipをサブクラス化する方法

のvar ABC:A =新しいA(PARAM1、PARAM2)

しかし、私のムービークリップがステージに既に存在している場合はどのようなコンポーネントを動的に追加する必要があり、それが原因で、コードの罰金です 。私はそれがエラーを出し、パラメータがnullであることに気付きます。

既にムービークリップのコンストラクタパラメータをステージに挿入する方法はありますか。

おかげ

答えて

2

Vishwasでは、ステージ上のシンボルは既にインスタンス化されています。コンストラクタを再度呼び出すことはできません。代わりに、必要な変数を設定するクラスにパブリック関数を記述してみてください。内部的に、これらの変数が設定されていない場合は、可視性をfalseに切り替えて待つか、何も処理しないことができます。それらが設定されると、クリップはオフになり、再び実行されます。

次に、ステージ上のクリップでpublic関数を呼び出すことに加えて、Flash IDEではなく、コードで作成するインスタンスのコンストラクタにオプションのパラメータを追加できます。パラメータがコンストラクタに存在する場合は、関数をすぐに呼び出してください。

public function Constructor (var1:String = '', var2:MovieClip = null) { 
    if (var1 && var2) init (var1, var2); 
} 

public function init (var1:String, var2:MovieClip) { 
    ... 
} 
0

次の例のように、コンストラクタでデフォルトのパラメータを設定することができます。

function A(param1:String = "default", param2:int=5):void { 

} 

をその後、ステージに追加したムービークリップは、これらのデフォルト値を使用しますが、動的に作成されたコンポーネントに異なるパラメータを使用することができます。

関連する問題