我正在尝试创建一个基于图 block 的网格,我需要获取 X-Y 坐标来保存比 X-Y 位置更多的值,以确定图 block 的特征,例如资源(例如在游戏的上下文中,在一 block 瓷砖,它可能包含食物、水、石头、木材等)例如我将使用 2x2 瓷砖网格: 让我们假设这些是 Canvas 显示的图 block
(x[1]y[1]),(x[2]y[1])
(x[1]y[2]),(x[2]y[2])
这些是我想要坐标保存的值
(x[1]y[1](contains:10 stone, 15 lumber))
(x[2]y[1](contains:5 food, 2 water))
(x[1]y[2](contains:17 water, 6 food, 10 lumber))
(x[2]y[2](contains:30 stone, 7 lumber))
我将如何获取坐标来保存所述其他值?
如果您还不能告诉我对编码等相当陌生,请尝试让我简单地理解。预先感谢您提供的所有帮助。
更新!
因此,在 azad 的帮助下,我弄清楚了如何使用其中保存的其他值创建 X-Y 坐标,并使用对象和循环函数来填充所有对象以及我需要存储在其中的所有信息。
解决方案
XYinitialize = function(){
XY = {};
y = 1;
x = 0;
for(i = 0;i < Math.pow(gridsize,2);i++){
if(x < gridsize){x++}else{x = 0;y++}
XY['Tile' + i] = {
'X':x,
'Y':y
};
};
}
网格大小由单行或单列中的图 block 数量决定,它创建一行,然后向下移动到下一行,使用 X 和 Y 坐标创建图 block ,图 block 内的任何其他值都可以是根据需要添加。如果网格大小为每行 3 个图 block ,则输出将类似于:
XY.Tile0:[对象对象] .X1 .Y1
XY.Tile1:[对象对象] .X2 .Y1
XY.Tile2:[对象对象] .X3 .Y1
XY.Tile3:[对象对象] .X1 .Y2
等等
最佳答案
您可以使用 javascript 对象来保存更多数据,
[ {x:1, y:1, stones:10, food:0, water:0, lumber:15}, {x:2, y:1, stones:0, food:5,water:2, lumber:0},
{x:1, y:2, stones:0, food:6, water:17, lumber:10}, {x:1, y:1, stones:30, food:0, water:0, lumber:7}]
关于javascript - X-Y 坐标是否可以用作多个 X-Y 坐标的值容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44838515/