我已经使用 SDL 和 PollEvent 方法工作了一段时间,它总是对我很有帮助。然而,在使用了基于 Flash 的引擎后,我尝试创建一个类似于我们在 Flash 中的事件侦听器系统。我在想这样的事情:(伪代码)
GameObject object
object.addEventListener(MOUSE_CLICK, myClickCallback)
但是,我不确定如何以有效的方式进行这项工作。我可以在每一帧上运行 PollEvent,然后遍历场景中的整个 GameObjects 列表:如果在 PollEvent 上接收到的事件是 X,则调用 X 的所有侦听器。但是,这似乎真的很慢。有更好的方法吗?有没有人做过类似的事情?