我仍然学习在AS3中编写代码,这看起来非常直截了当,类似于Java,所以如果我在某处犯了一个愚蠢的错误,我很抱歉。二维数组电影剪辑 - 错误#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()'调用内部,因为我认为该行没有其他错误。 –