zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    MySQL:如何查询出每个分组中的 top n 条记录?
    架构图解
    Jmeter(四十七)_性能测试统计超时率
    修改Docker容器启动配置参数
    Docker容器CPU、memory资源限制
    jmeter(四十六)参数化与断言实战
    jmeter(四十五)常用Beanshell脚本
    jmeter(四十四)常用性能指标分析
    linux性能监控常用命令
    jmap -heap 查看堆内存
  • 原文地址:https://www.cnblogs.com/LLLoveLL/p/3336786.html
Copyright © 2011-2022 走看看