我正在尝试创建基于图块的网格,我需要让XY坐标保存更多的值,而不仅仅是XY位置,以确定图块的特征,例如资源(例如在游戏的上下文中,它可能包含食物,水,石头,木材等的瓷砖)例如我将使用2x2瓷砖网格: 让我们假装这些是画布显示的图块
(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的帮助下,我想出了如何使用其中保存的其他值创建XY坐标,并使用对象和循环函数来填充所有对象以及我需要存储的所有信息。
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
};
};
}
网格大小由单个行或列中的切片数决定,然后创建一行然后向下移动到下一行,创建具有X和Y坐标的切片,并且切片中的任何其他值都可以根据需要添加。如果网格大小是每行3个图块,则输出看起来类似于:
XY.Tile0:[object Object] .X1 .Y1
XY.Tile1:[object Object] .X2 .Y1
XY.Tile2:[object Object] .X3 .Y1
XY.Tile3:[object Object] .X1 .Y2
等
答案 0 :(得分:0)
您可以使用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}]