我有一個2D瓦片地圖,每個地塊都由2×2個單元組成。我可以引用塊本身並獲取塊中每個特定單元的索引。但是,我想還要將該塊中的第一個tile的索引存儲,該塊不會自動生成。如何計算tilemap塊的主索引?
例如,點擊突出顯示的塊總是產生「0」,點擊下一個將產生「2」,並點擊其下的一個總是產生「20」。紅色數字表示瓷磚/單元格的索引。黃色的輪廓顯示了一個實際的塊。
在塊的範圍內,得到0,2,4,6,8,20等的最佳方法是什麼? 生成此代碼在ActionScript 3中,是一個基本的雙循環。
編輯:
我思考了一會兒,並決定在我的索引搜索代碼添加。我不完全確定這是否會有所幫助,尤其是因爲它用於查找單個單元格索引而不是大塊中的特定索引位置。
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。