Cocos2d v3:物理碰撞开始选择器被调用,但是带有nil参数

时间:2014-05-08 11:56:31

标签: cocos2d-iphone chipmunk

正如标题所暗示的那样。使用正确的节点类型名称调用选择器ccPhysicsCollisionBegin,但参数中传递的节点都是nil。有什么理由吗?

谢谢

1 个答案:

答案 0 :(得分:0)

谢谢!我发现了问题所在。如果节点继承自 CCNode 并尝试定义物理主体而不使用该属性但直接通过ivar _physicsBody ,则会导致 _physicsBody.node 没有被设定。当调用 ccPhysicsCollisionBegin 时,即使Chipmunk实体存在,参数也为零。

为避免这种情况,必须通过属性而不是ivar(应该是私有的)分配物理主体。

您可以在此处查看Cocos2d-iphone论坛的原始帖子: http://forum.cocos2d-iphone.org/t/cocos2d-3-0-physics-collision-begin-selector-called-with-nil-parameters/13316