0

私はこれをインターネットで調べ続けていますが、検索した限り、まだ何も投稿されていないと思います (もしあれば、いくつかのリンクを教えてください)。これは、この方法でインスタンスを作成する方法ですか。私が試したところ、コンパイル エラー、構文エラー ("expected identifier before this") が発生しました。皆さんからの助けをいただけてうれしいです。

これが私のコードです。

var mc_Names:Array = [];

function createMovieClip(index:int):void{
    var nameOfMc:String = "mc_" + index;
    mc_Names[index] = nameOfMc;
    var this[mc_Names[index]]:MovieClip = new MovieClip();       **// this is what I'm asking if it is possible**
    this[mc_Names[index]].graphics.lineStyle(20,0x00FF00, 0.5);
    this[mc_Names[index]].graphics.moveTo(square_mc.x,square_mc.y);
    this[mc_Names[index]].graphics.lineTo(mc3.x, mc3.y);
    this[mc_Names[index]].x = 0;
    this[mc_Names[index]].y = 0;
    addChildAt(this[mc_Names[index]], 0);
    currentIndex++;
}

または、より簡単にする方法や、変数インスタンスを this[] で宣言して、それらのムービークリップ インスタンスを動的に作成する方法はありますか。

4

1 に答える 1

0
var index:int = 1;
var A:Array = new Array();
A[index] = "mc_1";
A[index] = new MovieClip();
A[index].graphics.lineStyle(20,0x00FF00, 0.5);
A[index].graphics.moveTo(0,0);
A[index].graphics.lineTo(100, 100);
A[index].x = 0;
A[index].y = 0;
addChildAt(A[index], 0);

// この方法で実行できます。直接置換... :D

于 2013-05-03T05:39:50.157 に答える