我正在为支持 的快速浏览器开发等距游戏<canvas>
,这非常有趣。为了保存每个图块的信息,我使用了一个二维数组,其中包含表示图块 ID 的数字,例如:
var level = [[1, 1, 1, 2, 1, 0],
[0, 1, 1, 2, 0, 1],
[0, 1, 1, 2, 1, 1]];
var tiles = [
{name: 'grass', color: 'green'},
{name: 'water', color: 'blue'},
{name: 'forest', color: 'ForestGreen'}
];
到目前为止效果很好,但现在我想使用这张图片中的高度和坡度: alt text http://harmen.no-ip.org/isometrictiles.png
对于每个图块,我需要保存它的图块 ID、高度和关于哪些角向上转动的信息。
我想出了一个关于所有四个角的按位表示的简单想法,如下所示:
1011 // top, bottom and left corner turned up
我的问题是:为每个单元格保存这三个值的最有效方法是什么?是否可以将这三个值保存为一个整数?