看来我的角色似乎使用CCAnimation和Cocoa2d 3.x按预期动画。问题是当我将CCAnimatedSprite设置为physicsBody时,就像我以前的CCSprite那样,我遇到了崩溃
Aborting due to Chipmunk error: Body's moment is NaN.
Failed condition: body->i == body->i && body->i_inv == body->i_inv
Source:/Users/Jason/Desktop/RPGGame/RPG/Libraries/Chipmunk/chipmunk/src/cpBody.c:114
但是如果我删除这一行:
mainChar.physicsBody = [CCPhysicsBody bodyWithRect:(CGRect){CGPointZero, mainChar.contentSize} cornerRadius:0];
崩溃消失了,但物理不适用于我的CCAnimatedSprite,我该如何解决这个问题,为什么这条线会导致它?
初始化我的CCAnimatedSprite的完整代码:
CCTiledMapObjectGroup *objects0 = [levelOneMap objectGroupNamed:@"mainChar"];
NSMutableDictionary *startPoint0 = [objects0 objectNamed:@"startPosition"];
int x0 = [[startPoint0 valueForKey:@"x"] intValue];
int y0 = [[startPoint0 valueForKey:@"y"] intValue];
self.mainChar = [CCAnimatedSprite animatedSpriteWithPlist:@"AnimateChar.plist"];
mainChar.position = ccp(x0,y0);
mainChar.physicsBody = [CCPhysicsBody bodyWithRect:(CGRect){CGPointZero, mainChar.contentSize} cornerRadius:0];
mainChar.physicsBody.collisionGroup = @"groupPlayer";
mainChar.physicsBody.collisionType = @"collisionPlayer";
[mainChar addAnimationwithDelayBetweenFrames:0.1f name:@"AnimateChar"];
[mainChar setFrame:@"AnimateChar-1.png"];
[self.physicsWorldNode addChild: mainChar];
答案 0 :(得分:1)
只需移动
即可修复它 物理实体上方的[p> [mainChar setFrame]行,它运行正常。菜鸟错误^^