canvas与国际象棋的DOM的

我正在创build一个HTML 5国际象棋游戏。 服务器端是socket.io / node.js / backbone.js。

我现在开始写游戏板的视图。 在canvas或DOM元素(又名div)中代表棋盘会更容易吗? 忽略浏览器兼容性。

真的归结于你的动机。

如果您了解游戏开发的情况,并且为了碰撞检测或其他方式将屏幕划分为多个部分,您可以轻松地创build自己的定制点击事件(每平方米/单位),具体取决于玩家在canvas上的位置点击,然后走到canvas上,就像打开更多的高级animation和graphics交互的门一样。

如果你对此不满意,并且想要一个直截了当的方法来知道哪个广场被点击了,并且想要一个干净利落的方式来知道你所在的广场上是否有一个单位,而不需要弄清楚基于您在游戏窗口中点击的X和Y,然后使用DOM – 实际上,这些都是好处,而其他所有内容都是挑选其中一个的副作用。

用于animation和“波兰语”的canvas,用于事件侦听器的DOM和用于方形点击的基于数组的(或基于属性的)通知。

对于你打算做的事情,我认为DOM是最好的select。 不是因为Canvas有任何缺点,而仅仅是基于你需要完成的工作量,以及改变棋盘看起来容易的能力。

您可以使用div并将它们绝对放置,添加css样式以显示/隐藏某个方块上的棋子,并且毕竟,您甚至可以制作大型无背景canvas并在基于DOM的棋盘上绘制特殊效果。

所以总而言之,DOM应该是为你走的路。

这取决于你的目标。

如果您的主要兴趣只是通过渲染图片作为图像来呈现游戏的状态,那么使用DOM(例如表格或div)作为棋盘位置可能是最简单的。

如果您对高级graphics更感兴趣,那么canvas可能会更好。

我最近开发了其中的一个,并使用HTML5 Canvas作为graphics界面。 这是非常强大的绘图板和移动件。