• Nape 碰撞检测事件 笔记


    Nape事件侦听器
    Listener是Nape中碰撞事件帧听的核心部分。所有的事件派发后都有Listener对象侦听,然后触发相应的事件处理函数。

    包含四个类型:BodyListener、 ConstraintListener、InteractionListener和PreListener。

    • BodyListener:用来侦听刚体在WAKE和SLEEP状态之间切换时派发的CbEvent.WAKE或CbEvent.SLEEP事件
    • ConstraintListener:侦听关节(后续我们详细介绍)状态变化时派发的事件,这些事件有CbEvent.WAKE、CbEvent.SLEEP和CbEvent.BREAK
    • InteractionListener:在刚体或关节发生碰撞时派发的所有事件都由InteractionListener来侦听。这些碰撞事件包括CbEvent.BEGIN、CbEvent.ONGOING和CbEvent.END
    • PreListener: 这个侦听器可以侦听任何碰撞的所有事件。InteractionListener同样也用来侦听碰撞事件,但是每个 InteractionListener对象只能侦听其中某一个事件。PreListener可以同时侦听所有的碰撞事件,也就是说,添加了 PreListener侦听后器后,碰撞在发生、进行和结束时派发的事件都会触发PreListener的事件处理函数。

    碰撞检测,所以只用到InteractionListener,构造函数如下:

    public function IneractionListener(
                                    event:CbEvent,
                                    interactionType:InteractionType,
                                    options1:Null<Dynamic>,
                                    options2:Null<Dynamic>,
                                    handler:InteractionCallback -> Void,
                                    precedence:Int = 0)

    总共有6个参数:

    • event:CbEvent:要侦听的CbEvent事件类型,前面介绍过总共有BEGIN、END、ONGOING、PRE、WAKE、SLEEP和BREAK七种。
    • interactionType:InteractionType:要侦听的碰撞类型,前面同样也介绍,根据碰撞的刚体不同,有COLLISION、FLUID、SENSOR和ANY四种。
    • options1:CbType:侦听碰撞的两个刚体中,限定的第1刚体的类型,和下面的options2搭配使用。Nape中只有符合这两种类型的刚体发生碰撞时,才会派发相应的事件。
    • options2:CbType:侦听碰撞的两个刚体中,限定的第2刚体的类型。
    • handler:InteractionCallback:处理碰撞事件的函数,和Flash中addEventListener里的事件处理函数一样。
    • precedence:Int = 0:当不同的事件侦听器同时侦听相同的刚体之间相同的碰撞事件时,触发侦听器的优先权。

    InteractionType的类型中

    • InteractionType.COLLISION:普通刚体之间的碰撞
    • InteractionType.FLUID:刚体与浮力刚体的碰撞
    • InteractionType.SENSOR:刚体与sensor刚体的碰撞

    官方API

  • 相关阅读:
    openstack trove实例状态转换条件--Mitaka版本
    trove module使用说明
    openstack trove mongodb配置项
    openstack trove weekly meeting时间即将更改
    openstack trove redis配置项
    trove database功能总结
    openstack trove 数据库镜像构建列表
    openstack trove主要贡献公司-Tesora被Stratoscale收购
    openstack trove,使pylint忽略错误
    十件你需要知道的事,关于openstack-trove(翻译)
  • 原文地址:https://www.cnblogs.com/LLLoveLL/p/3336786.html
Copyright © 2020-2023  润新知