碰撞检测
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)
以上是关于碰撞检测的主要内容,如果未能解决你的问题,请参考以下文章
pygame游戏检测矩形是否碰撞指定颜色的自定义函数(仅5行代码)
pygame游戏检测矩形是否碰撞指定颜色的自定义函数(仅5行代码)