首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript游戏输入失去焦点

Javascript游戏输入失去焦点
EN

Stack Overflow用户
提问于 2015-04-09 17:28:38
回答 1查看 111关注 0票数 1

所以,我正在编写一个游戏,将使用键盘输入。我跟踪类似于这里的KeyDownKeyUp事件:

http://nokarma.org/2011/02/27/javascript-game-development-keyboard-input/index.html

但是,有一些用例可以忽略Keyup/Keydown事件。我尝试在我的身体元素中添加一个模糊元素,但是在一些用例中,它不会模糊。我能给出的最简单的例子是,如果用户右击文档之外的某个区域,比如在书签上,浏览器不会将任何事件提供给DOM,上下文菜单就会开始获取键盘输入。因此,如果用户按住向上箭头,同时仍保持向上箭头,则右键单击书签,然后释放箭头键,则将永远不会将相应的KeyUp事件提供给浏览器。如果用户再次按下该键,则该键将“重置”,但这仍然是一个错误。

对于Chrome和Firefox,我可以使用PointerLock API,但我想知道是否还有什么可以做的。我曾想过,如果鼠标离开了工作区,就会自动模糊,但当我玩游戏时,我通常会将鼠标移到下角。AFAIK无法手动轮询键盘。有我错过的工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-10 04:20:02

我不确定它是否有用,但是在您的实现中,keydown方法在某个地方更改了一个变量,以指示它已按下。

还运行一个计时器,该计时器将每x的值重置为未按(如果仍按下该值,则keydown方法应在相同的更新中触发)

然后,在keyup方法上,将变量更改为unpressed。

这应该会给出一个更可靠的指示,如果按钮是按下的,我以前在java游戏中使用了一个模拟方法,效果非常好!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29545134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档