【发布时间】:2014-05-05 23:55:32
【问题描述】:
我正在尝试检查两个物体的碰撞碰撞,但碰撞检测回调没有被触发。 这是我的代码:
1) 我的 CCScene 实现了 CCPhysicsCollisionDelegate 协议
2) 我为物理设置碰撞委托
_physics = [CCPhysicsNode node];
_physics.gravity = PHYSICS_GRAVITY;
_physics.debugDraw = YES;
_physics.collisionDelegate = self;
[self addChild:_physics];
3) 我为两个身体中的每一个设置一个碰撞类型
body1.collisionType = @"body1";
body2.collisionType = @"body2";
4) 就是这样,当这两个物体发生碰撞时,不会调用任何 CCPhysicsCollisionDelegate 回调方法。
- (BOOL)ccPhysicsCollisionBegin:(CCPhysicsCollisionPair *)pair typeA:(CCNode *)nodeA typeB:(CCNode *)nodeB
{
NSLog(@"HELLO");
return YES;
}
你能帮我解决这个问题吗?你在 cocos2d v3 中能接收到碰撞回调吗?
提前致谢
【问题讨论】:
-
你能发布你的回调方法吗?
-
- (BOOL)ccPhysicsCollisionBegin:(CCPhysicsCollisionPair *)pair typeA:(CCNode *)nodeA typeB:(CCNode *)nodeB { NSLog(@"HELLO");返回是; }
-
我已经尝试了新的cocos2d模板项目,所以我基本上设置了_physics.collisionDelegate = self;但无论如何都不会触发回调
-
不确定,但碰撞类型是否意味着将可以碰撞的对象组合在一起?如果是这样,那么使用两种不同的类型意味着它们将无法碰撞
-
对于相同的碰撞类型,它也不起作用。无论如何,身体正在碰撞,问题是回调没有被触发。真的很奇怪..
标签: cocos2d-iphone collision-detection collision