碰撞检测

Posted afraidtoforget

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了碰撞检测相关的知识,希望对你有一定的参考价值。

 

我搜到的网上的碰撞检测都是规则几何碰撞,例如矩形、立方体,三角形,这些都是小学的几何知识。

关键是不规则几何的碰撞,但是没有搜到好的文章的。

 

https://blog.csdn.net/A632189007/article/details/78126588

 

这里记录一下cocos2dx中的相关api

1  2d碰撞检测

    local conListener = cc.EventListenerPhysicsContact:create()
    conListener:registerScriptHandler(function (contact)
        -- body
        local node1 = contact:getShapeA():getBody():getNode()
        local node2 = contact:getShapeB():getBody():getNode()
        print("node contacted name EVENT_PHYSICS_CONTACT_BEGIN")
        print(node1:getName())
        print(node2:getName())
        return true
    end, cc.Handler.EVENT_PHYSICS_CONTACT_BEGIN )

    conListener:registerScriptHandler(function (contact)
        -- body
        local node1 = contact:getShapeA():getBody():getNode()
        local node2 = contact:getShapeB():getBody():getNode()
        print("node contacted name EVENT_PHYSICS_CONTACT_PRESOLVE")
        print(node1:getName())
        print(node2:getName())
    end, cc.Handler.EVENT_PHYSICS_CONTACT_PRESOLVE )

    conListener:registerScriptHandler(function (contact)
        -- body
        local node1 = contact:getShapeA():getBody():getNode()
        local node2 = contact:getShapeB():getBody():getNode()
        print("node contacted name EVENT_PHYSICS_CONTACT_POSTSOLVE")
        print(node1:getName())
        print(node2:getName())
    end, cc.Handler.EVENT_PHYSICS_CONTACT_POSTSOLVE )

    conListener:registerScriptHandler(function (contact)
        -- body
        local node1 = contact:getShapeA():getBody():getNode()
        local node2 = contact:getShapeB():getBody():getNode()
        print("node contacted name EVENT_PHYSICS_CONTACT_SEPARATE")
        print(node1:getName())
        print(node2:getName())
        return true
    end, cc.Handler.EVENT_PHYSICS_CONTACT_SEPARATE )


    cc.Director:getInstance():getEventDispatcher():addEventListenerWithSceneGraphpriority(conListener, scene)

 

以上是关于碰撞检测的主要内容,如果未能解决你的问题,请参考以下文章

android 游戏 碰撞检测

unity3d 碰撞检测

pygame游戏检测矩形是否碰撞指定颜色的自定义函数(仅5行代码)

pygame游戏检测矩形是否碰撞指定颜色的自定义函数(仅5行代码)

Sprite 套件中的 SKShapeNode 碰撞检测未检测到碰撞

unity碰撞检测(碰撞器,触发器)