迄今为止在Cocos Creator 2.4.2版本中
cc.director.getPhysicsManager().testPoint(point);
该函数只能检测Dynamic类型的刚体,无法检测Static等其他刚体,项目中需要做类似判定,所以只能自己动手修改。
找到
CocosDashboard_1.0.8\resources.editors\Creator\2.4.2\resources\engine\cocos2d\core\physics\platform
目录下的PhysicsAABBQueryCallback.js文件,将其Copy到自己工程目录下
删除下面这行
const BodyType = require(’…/CCPhysicsTypes’).BodyType;
修改下面这行
if (body.GetType() === BodyType.Dynamic) {
为
if (body.GetType() === cc.RigidBodyType.Dynamic || body.GetType() === cc.RigidBodyType.Static) {
其目的就是用我们自己对PhysicsAABBQueryCallback的定义,覆盖原来Cocos的定义。
希望引擎组下个版本能优化下该函数,增加一个参数,检测一类或多类的刚体类型。