【发布时间】:2013-12-30 13:26:21
【问题描述】:
假设我有一些类似的代码:
private function makeGrid():void
{
_grid = new Array();
for(var i:int = 0; i < stage.stageWidth / GRID_SIZE; i++)
{
_grid[i] = new Array();
for(var j:int = 0; j < stage.stageHeight / GRID_SIZE; j++)
{
_grid[i][j] = new Array();
}
}
}
我不太明白发生了什么。我在第一个 for 循环中确定了所需的列数,在第二个中确定了行数,但我不明白为什么要使用 _grid[i] 和 _grid[i][j] 制作数组。
例如,_grid[i] = new Array(); get 被调用了 16 次(800px/50px),那么这将构成 16 个数组,对吗?如果第二个 for 循环已经在计算我需要的行数,为什么还需要这些?
【问题讨论】:
-
使用您提供的代码,您正在为我假设的二维网格创建一个三维数组。 _grid = new Array() 声明为您的列设置数组。 _grid[i] 为每一列
i设置一个行数组。然而,最后一个 _grid[i][j] 将为每一列中的每一行创建一个第三个数组。将其视为 Z 轴或深度。 -
有道理,这是来自一个关于让人工智能在网格中移动的教程。谢谢!
标签: arrays actionscript-3 multidimensional-array