gpt4 book ai didi

ios - Cocos2d 中的 CCAnimation 和移动 Sprite 是否正确使用 physicsBody?

转载 作者:行者123 更新时间:2023-11-29 12:43:27 26 4
gpt4 key购买 nike

看起来我的角色似乎使用 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];

最佳答案

简单地通过移动来修复它

[mainChar setFrame] 行在 physicsBody 上方,它运行良好。菜鸟错误^^

关于ios - Cocos2d 中的 CCAnimation 和移动 Sprite 是否正确使用 physicsBody?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24269701/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com