我有一个 2D tilemap,它以块的形式生成,每个块由 2x2 单元组成。我可以引用块本身并获取块中每个特定单元格的索引。但是,我还想将第一个图块的索引存储在该块中,这不是自动生成的。
例如,点击突出显示的块总是会产生“0”,点击下一个块会产生“2”,点击它下面的块总是会产生“20”。红色数字表示图块/单元格的索引。黄色轮廓展示了一个实际的块。
在块的范围内,获得 0、2、4、6、8、20 等的最佳方法是什么?生成它的代码在 Actionscript 3 中,是一个基本的双 for 循环。
编辑:
我想了一会儿,决定添加我的索引搜索代码。我不完全确定这是否会有所帮助,特别是因为它用于查找单个单元格索引而不是块中的特定索引位置。
public function mousePosistion():Number
{
var mouseColX: Number = 0;
var mouseColY: Number = 0;
mouseColY = Math.ceil(this.mouseY / 64);
mouseColX = Math.ceil(this.mouseX / 64);
var mouseIndex:Number = mouseColX + (20 * mouseColY);
return mouseIndex;
}
注意:它是为实际地图格式化的,宽度为 20,而不是示例中的 10。