Questions tagged «events»

事件是通常在主程序线程“外部”发生但在其内部处理的操作。

3
有没有更好的方法来建立事件系统?
事件系统令人惊叹,它们使代码变得极其笨拙,并且确实允许通过对象之间的轻松通信和游戏循环来动态创建游戏。我目前的执行效率很难。目前,我对将对象列表分离为它们响应的事件进行了一些细微的优化,这确实产生了奇迹,但是我应该做的还很多。 目前,我有两种方法: 最简单:发送事件时,所有对象都添加到向量中。所有对象都通过其handle_event()方法发送事件 更复杂:我有一个以字符串为键的映射,以int为值的映射。添加事件类型后,会将其添加到此地图,只需将int简单地增加(必须有更好的方法) ,然后将对象向量的向量推回新的向量以处理该事件类型。 调用事件时,它只需将eventTypes映射中的相应int映射到对象向量的vector内的类型,然后将该事件发送给处理该事件类型的每个对象。 对于许多对象,这第一种方法相当慢(很明显),但是对于很少的对象来说却相当快。而对于要处理不同类型事件的大型对象,第二种方法相当快,但对于处理相同类型事件的对象,每个对象的第二种方法却较慢。 有没有更快的方法?有没有一种更快的方法来从字符串类型查找int?(起初,我有一个枚举,但是它不允许使用自定义类型,这是必需的,因为需要具有一定的动态性。)

2
事件发展在游戏中起什么作用?
大多数应用程序开发都是基于事件的开发,但是考虑到开发游戏的游戏循环风格以及对高性能/吞吐量的(通常)需求,使用事件进行开发的角色是什么?经常涉及的同步/锁定是否会产生更大的影响? 例如:-网络[层]如何将收到的数据通知游戏循环?-物理系统如何通知碰撞 我问,因为我记得有一次使用事件进行游戏开发是严格禁止的时间。这改变了吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.