iOS cocos2D Chipmunk Body 的速度无效

iOS cocos2D Chipmunk Body's velocity is invalid

在 cocos2d-spritebuilder 3.4 中,我创建了我的物理世界和我的播放器,就像许多官方示例一样。

    self.sprite.physicsBody = [CCPhysicsBody bodyWithCircleOfRadius:10 andCenter:self.anchorPoint];
    self.sprite.physicsBody.type = CCPhysicsBodyTypeDynamic;
etc...

因此,当我尝试将精灵移动到右侧时,例如使用

[self.sprite.physicsBody applyImpulse: CGPointMake(32,0)];

我的应用崩溃报告:

Aborting due to Chipmunk error: Body's velocity is invalid.
    Failed condition: v.x == v.x && v.y == v.y
    Source:.../Source/libs/cocos2d-iphone/external/Chipmunk/src/cpBody.c:106

Chipmunk 来源有:

-(void)applyImpulse:(CGPoint)impulse { _body.velocity = cpvadd(_body.velocity, cpvmult(CCP_TO_CPV(impulse), 1.0f/_body.mass));}

所以,我知道 MASS 默认设置为 1.0f,但我想尝试手动设置此值..):

self.sprite.physicsBody.mass = 1.0f

同样的错误,同样的结果... 但是如果我尝试设置:

self.sprite.physicsBody.body.mass = 1.0f

效果很好。 那么,这两个参数有什么区别呢? 为什么 applyImpulse 只需要 body.mass?

据我所知,花栗鼠在施加 "big" 冲动时表现不佳。您应该尝试做的是在几帧上建立速度。

编辑:检查此 link http://forum.cocos2d-swift.org/t/ccphysics-applyimpulse-not-working/12151/12