2012-03-15 25 views
1

文字列変数を持つオブジェクトまたは関数名を呼び出す必要があります。

たとえば、文字列変数で関数名またはオブジェクト名を呼び出す方法はありますか? actionscript3

var item_1:Object; 
var str:String = "item_1"; 
TweenLite.to(item_1, 2, {alpha:0}); 

私はそのはそれを行うことができますどのように

var item_1:Object; 
var str:String = "item_1"; 
TweenLite.to(str, 2, {alpha:0}); 

を働いていない以下のような何かを行う場合は、それが動作しますが、
ですか?今から感謝..

答えて

3

this[str]; 
//or 
root[str] 

のようなものあなたはitem_1が宣言された場合、あなたはitemParent["item_1"]として、あるいはあなたの例ではそれを呼び出すことができます知っていれば、

のでobject[key]=valueとしてアクセスすることができますAS3のすべてのオブジェクトを試してみてくださいitemParent[str]

+0

それは働いてくれてありがとう、それは私が探している答えです。 –

2

私はあなたの質問を読んでいくつかの問題を抱えているが、あなたは以下を探しているようにそれはそう:

var item_1:Object 
var str:String = "item_1" 
TweenLite.to(this[str], 2, {alpha:0}); 

を動的に文字列から自分のIDでオブジェクトにアクセスするには、表記this["itemid"]を使用する必要があります。

+0

@ sch Ah。私はこの表記法を使う必要はなかったので、私はその限界に慣れていない。ありがとう。 –

+0

ああダムミット!遅いインターネット接続で元に戻す! :P @schあなたが正しいと思うけど、**私たちは**疑念の恩恵を受けなければならないと思いますか? –

+0

ええ、私は、フラッシュの "動的な"キーワードを完全に削除する必要がありますと信じています。ダイナミックな解像度はコーディングの練習を促進するだけであり、常にパフォーマンスが低下します。だからこそ、成熟した言語のなかにこのような凶悪な機能を使用している人はいません。 –

関連する問題