javascript - 多 Canvas 棋盘游戏与单 Canvas

标签 javascript html css html5-canvas

我是游戏编程新手。我只是想知道,对于一个简单的棋盘游戏(比如说井字游戏或西洋跳棋),为棋盘使用多个 Canvas 是个好主意吗?我的意思是,每个 Canvas 都可以代表棋盘上的每个方 block 。

我觉得很多人倾向于这样做,因为它使逻辑简单。您让 CSS 完成所有间距和烦人的方形分隔。但我不知道这样做是否是个好习惯。

由于我是新手,我觉得现在避免走捷径对我创建复杂的东西很有帮助。那么,您对每个棋盘格的单独 Canvas 有何看法?

最佳答案

最重要的是找到一个平衡点并理解为什么您会使用一个 Canvas 而不是分层 Canvas 。

对于一款井字游戏来说,只需要一个即可,因为那里没有任何需要不断更新的东西。如果也更容易维护。 事件驱动(即,在您点击/做某事之前什么都不会发生)这样的游戏/应用程序通常不会受益于多层。

当您使用多个 Canvas 时,通常是因为您有一个静态或复杂的背景(或前景),并且一些在其上移动的对象需要平滑移动。这将是分层 Canvas 的一个很好的候选者,因为它允许您仅清除和重绘移动对象的区域,而不是渲染背景(特别是在背景是合成的情况下)。

处理分层 Canvas 并不比处理一个 Canvas 复杂多少,但您需要跟踪执行绘制操作的位置。您可以使用带有嵌入式信息的对象来执行此操作,或者为了获得额外的性能,请使用数组/变量。

关于javascript - 多 Canvas 棋盘游戏与单 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17460174/

相关文章:

javascript - 如何删除 '#' 登录 angular-ui-router URL

PHP/HTML 显示隐藏字符

html - 字体被预编译但无法从助手访问

javascript - 当 div 清空时,Ajax 加载的弹出图像并不总是清除

javascript - Node.js - 按值查找数组中的对象

javascript - 单击时不会触发功能 - AJAX/CSS

javascript - 随机顶部/左侧定位

jquery - 使用 jQuery/HTML5 聚焦光效

javascript - 需要在下拉菜单中列出以在单击数字后显示结果

html - CSS:Firefox 上的 -webkit-mask-image