iOS cocos2D 花栗鼠body的速度无效



在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

花栗鼠的来源有:

-(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?

据我所知,花栗鼠在施加"大"冲动时表现得并不好。你应该尝试和做的是在几帧内建立速度。

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

最新更新