【发布时间】:2010-04-02 12:06:06
【问题描述】:
我正在为支持<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
我的问题是:为每个单元格保存这三个值的最有效方法是什么?是否可以将这三个值保存为一个整数?
【问题讨论】:
-
图片+1 :)
-
+1 很好的问题。对游戏也很感兴趣。
-
+1 不仅是图片,还有问题的整体清晰度。很高兴看到有人花时间彻底提出问题。
标签: javascript isometric