私はまだ AS3 でコーディングすることを学んでいますが、これはかなり単純明快で Java に似ているように思えます。
質問のタイトルに従って、次のようにグリッドに印刷できるように、既に作成した 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() インスタンスを作成しようとしているときに発生します。
どんな助けでも大歓迎です。ありがとう!