未调用 CCPhysicsCollisionDelegate
CCPhysicsCollisionDelegate not called
我在碰撞检测上卡住了 2 天。我尝试了论坛中建议的所有解决方案,但仍然没有调用碰撞委托方法。
我正在使用与 SpriteBuilder v1.4.7 捆绑在一起的 cocos2d v3.4。
这是我的简单测试:smallBox 和 bigBox 都是 _physicsNode 的子节点
1- 在小盒子上启用动态物理,并将碰撞类型设置为 "smallBox"
2 - 在大盒子上启用静态物理并将碰撞类型设置为 "bigBox"
3 - 在 Xcode 中发布、构建和 运行,输出每个节点的碰撞类型,以便我可以确保它们正确连接,并正确设置 _physicsNode 的碰撞委托。
结果:当小盒子落在大盒子上时不会调用碰撞委托方法。
应该将委托方法的 "typeA"、"typeB" 替换为实际类型 "smallBox" 和 "bigBox",因此有效的回调应该是这样的:
-(void)ccPhysicsCollisionPostSolve:(CCPhysicsCollisionPair *)pair smallBox:(CCNode *)nodeA bigBox:(CCNode *)nodeB
我在碰撞检测上卡住了 2 天。我尝试了论坛中建议的所有解决方案,但仍然没有调用碰撞委托方法。 我正在使用与 SpriteBuilder v1.4.7 捆绑在一起的 cocos2d v3.4。
这是我的简单测试:smallBox 和 bigBox 都是 _physicsNode 的子节点
1- 在小盒子上启用动态物理,并将碰撞类型设置为 "smallBox"
2 - 在大盒子上启用静态物理并将碰撞类型设置为 "bigBox"
3 - 在 Xcode 中发布、构建和 运行,输出每个节点的碰撞类型,以便我可以确保它们正确连接,并正确设置 _physicsNode 的碰撞委托。
结果:当小盒子落在大盒子上时不会调用碰撞委托方法。
应该将委托方法的 "typeA"、"typeB" 替换为实际类型 "smallBox" 和 "bigBox",因此有效的回调应该是这样的:
-(void)ccPhysicsCollisionPostSolve:(CCPhysicsCollisionPair *)pair smallBox:(CCNode *)nodeA bigBox:(CCNode *)nodeB