私はまだAS3のコードを学習していますが、これはかなり単純でJavaに似ていますので、どこか愚かな間違いを犯した場合はお詫びします。2次元配列のムービークリップ - エラー#1006
質問タイトルとして、私は既に作成したMovieClipの2D(入れ子)配列を作成して、次のようにグリッド上に出力できるようにしようとしています。
var NumCols:Number = 8;
var NumRows:Number = 8;
var ColWidth:Number = (stage.stageWidth-8)/NumCols;
var ColHeight:Number = (stage.stageWidth-8)/NumRows;
var GemMatrix:Array = new Array(8, 8);
var n = 1;
var SW:Number = stage.stageWidth;
var SH:Number = stage.stageHeight;
private function GJ_GenerateBoard(event:MouseEvent):void {
// Initialization...
for (var j = 0; j < NumRows; ++j)
{
GemMatrix[y] = [];
for (var i = 0; i < NumCols; ++i)
{
trace(i,j);
GemMatrix[i][j] = new Gem() as MovieClip;
this.addChild(GemMatrix[i][j]);
GemMatrix[i][j].x = i*ColWidth+ColWidth/2;
GemMatrix[i][j].y = j*ColHeight+ColHeight/2;
}
}
私は受け付けており、エラーがある:
ReferenceError: Error #1056: Cannot create property 0 on Number.
これは私が新しい宝石()インスタンスを作成しようとしています行で発生します。
ご協力いただきまして誠にありがとうございます。ありがとう!
あなたの 'Gem'クラス(または少なくとも呼び出されているそのコンストラクタ)のコードを投稿してください。エラーがその行にある場合、 'Gem()'呼び出しの中で起こっている可能性があります。なぜなら、私はその行に間違っているとは思わないからです。 –