-1

入力テキスト フィールドを取得して、設定した変数を変更し、変数用に設定した一連のムービー クリップを作成しようとしています。

ここに私が変更したいコードがあります

    var blue:MovieClip = new Blue  ;

可能であれば、入力フィールドにあるものに青を変更する必要があります

4

2 に答える 2

0

私の知る限り、文字列 (つまり、テキスト フィールドの値) に基づいて新しいクラス名を作成することはできません。

最初にクラスを作成する必要があります。

var blue:MovieClip = new Blue();
var green:MovieClip = new Green();
...

次に、スイッチを使用して次のように言います。

switch(player1.text){
case 'blue' : 
  //load blue mc
  break;
case 'green' :
  // load green ms
  break;
}

ここでの最大の問題は、テキスト入力が任意の値を取ることができるということです。事前定義された値を持つ一連のラジオ ボタンを使用する方がよい場合があります。それからあなたのスイッチを持っている人。

于 2012-10-17T22:00:25.827 に答える
0

を使用して、文字列に基づいてクラスのインスタンスを作成できますgetDefinitionByName()

コード例:

function loadClip(string:String):MovieClip
{
    var type:Class = getDefinitionByName(string) as Class;
    var mc:MovieClip = new type();

    return mc;
}

これを の値とともに使用して、player1.text設定したさまざまな種類の MovieClip を作成できます。

try
{
    var colorMc:MovieClip = loadClip(player.text);
}
catch(e:ReferenceError)
{
    trace(e);
}
于 2012-10-17T23:25:22.577 に答える