【发布时间】:2018-04-16 01:40:37
【问题描述】:
我使用 html/react 构建了一个网页游戏。它在画布上,但界面只是 DOM 元素。用户已经可以使用控制器玩游戏,但我想设计一种方法来导航界面。
我在想也许只是创建代表界面项目的对象,并存储一个“活动”项目。如果submit 是活动选择
submit: {
up: 'password',
right: 'new',
down: null,
left: null
}
我打算只执行 getElementById('activeElement') 并在元素上覆盖图像以表示它的选择。
困难的部分来了。我还需要检查被导航到的元素是否存在,如果不存在则有一个后备元素。可能是某种数组,以防后备需要后备。这似乎是可行的,虽然我不完全确定如何处理它。
看似糟糕的方法
我正在考虑的一种技术是为每个屏幕使用一个二维数组。例如,登录屏幕可能显示为
虽然它并不完全直观。如果您在new 上并想升级到password,则必须先按left。
当屏幕上有多个组件时,这会更加复杂。二维数组必须适应所有导航元素。这听起来很麻烦。
【问题讨论】:
-
界面是否在DOM中渲染?还是使用 canvas 元素渲染?
-
是的,我的界面存在于游戏画布层上方的DOM中
标签: javascript html reactjs navigation gamepad