我正在开发一款目标是使用所有画布的游戏。
目前我的按钮有鼠标事件(mousemove,mousedown,mouseup)。我应该直接从此事件更新我的画布按钮还是将其与requestedtionanimationframe集成?我读到鼠标事件每秒可以被调用数百次......
可能与问题无关:当触发事件时,调用具有按钮的对象来检查鼠标位置(这是由于只有最顶层的图层注册鼠标事件和预渲染的方式)。从本质上讲,它不是一个真实的'每个画布对象/按钮上的鼠标事件。
谢谢!
答案 0 :(得分:1)
如果不了解更多关于游戏的内容,很难回答你的问题,但总的来说:
如果您的游戏严重依赖于按下按钮的时间,则使用每个mousedown
运行您的游戏逻辑(不要等待rAF)。例如,在射击游戏中,如果你等到rAF测试子弹是否击中敌人,敌人可能会移动到目标之外。
如果您的游戏依赖按下按钮数量而不管时间,那么只需累积mousedown
计数直到rAF。例如,在快速抽搐游戏中,您只是测试用户可以按下按钮以响应提示的次数。
无论哪种方式,将显示重绘放在rAF中,以使游戏尽可能高效地显示。