電子書籍の厳選無料作品が豊富!

addEventListenerを動的に生成したいのですが、
下記のコードは動いてくれません。(エラーはないです。)

//2つのインスタンスは適当な座標においてあります
for(var num=0; num < 2; num++){
var mc = "test"+num+"_mc";
mc = new MovieClip();
mc.addEventListener(MouseEvent.CLICK, move);
}

function move(event:Event):void{
event.currentTarget.x = 0;
}

上記のような場合は、
どのようにすればよいのでしょうか。

ご教授お願いいたします。

A 回答 (1件)

addEventListener ができていないのではなくて,


mc = new MovieClip(); ができていないのですよ。

//変数mcに 「test○_mc」 という文字列を入れる
var mc = "test"+num+"_mc";

↑これでは文字列String が入るだけで MovieClip ではありません。



あと
> //2つのインスタンスは適当な座標においてあります
って???

置いてあるのなら 新しいムービークリップを作成
mc = new MovieClip();
などする必要ないじゃないですか。



=======================


「test0_mc」 と 「test1_mc」 というインスタンス名を付けた
2つのインスタンスは適当な座標においてあるとしますよ。

-------------------------------------
for (var num=0; num < 2; num++) {
var mc = "test" + num + "_mc";
this[mc].addEventListener(MouseEvent.CLICK, move);
}

function move(event:Event):void {
event.currentTarget.x = 0;
}
-------------------------------------

または

-------------------------------------
for (var num=0; num < 2; num++) {
this["test" + num + "_mc"].addEventListener(MouseEvent.CLICK, move);
}

function move(event:Event):void {
event.currentTarget.x = 0;
}
-------------------------------------


Google検索「配列アクセス演算子」
http://www.google.co.jp/search
    • good
    • 0
この回答へのお礼

いつもありがとうございます!!!

配列アクセス演算子、教えていただいて感謝です!
無事できました!

お礼日時:2010/04/11 13:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!