2014-06-17 2 views
1

내 캐릭터가 CCAnimation과 Cocoa2d 3.x를 사용하여 예상대로 움직이는 것처럼 보입니다. , 충돌이 사라질CCAnimation과 Codos를 Cocos2d에서 움직이는 것은 physicsBody를 올바르게 사용 했나요?

mainChar.physicsBody = [CCPhysicsBody bodyWithRect:(CGRect){CGPointZero, mainChar.contentSize} cornerRadius:0]; 

: 나는 physicsBody을 내 CCAnimatedSprite을 설정할 때 문제는 내 이전 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 

을 얻을 수있다 하지만 물리학은 내 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

오랫동안 Cocos2d를 보지 않았지만'(CGRect) {CGPointZero, mainChar.contentSize}'NSLog out as? 그 시점에서 contentSize가 0,0 일 것 같네요? –

답변

1

는 단순히 physicsBody 위의

[mainChar setFrame] 라인을 이동하여 고정하고 괜찮 았는데. 신참 실수 ^^