Havok_2014-1-0_Pc_Xs_User_Guide(2.3.2-一般监听器)

来源:互联网 发布:误删数据库怎么恢复 编辑:程序博客网 时间:2024/06/03 13:04

本节介绍Havok监听器和事件,并描述了如何使用Havok Physics2012提供的监听器基类。


监听器允许您影响在Havok模拟中发生的特定事件。这些事件可以是物体碰撞、约束创建或实体被激活。


不像一个动作,每一个单帧步有一个函数调用,监听器只有当一个特定事件发生时函数被调用。这使得它们更适合回应罕见的状态变化,或异步事件。


注册一个感兴趣的事件,你只需添加合适的监听器到仿真中。当事件发生时,指定的回调函数代码将被执行。


注意:

碰撞监听器是一个特殊的监听器类,在它们自己的章节中被详细讨论。


2.3.2.1 回调函数和事件


Havok中的监听器简单的实现一个特殊仿真时调用的回调函数当相应的事件发生时。例如,当添加一个动作到模拟世界时hkpActionListener:actionAddedCallback() 方法被调用。


每个回调函数允许传递一些关于事件的有用的信息给监听器, 之后当回应给事件时监听器可以使用这些信息。提供的信息类型取决于回调函数。例如,一个entityAddedCallback()仅仅给新添加的实体传递一个引用, 然而一个hkpContactListener的contactProcessCallback()传递一个包含事件详细信息的结构体,包括hkpCollidables和碰撞检测的结果。


注意:

世界可以被锁定,这样一些操作被排队不被执行直到之后的一点(见hkpWorld:lockCriticalOperations)。这是常有的事当回调发生并可能导致意想不到的行为:如果你想移除一个实体,移除延迟,那么实体可能随后导致监听器上的回调被raised,直到它真的被删除。


2.3.2.2 监听器类型
























0 0
原创粉丝点击