확인, 메신저 업데이트 Box2D의 내 스프라이트에 몸을 추가 할 수 없습니다, 나는내가 Box2D의에 RW 튜토리얼 다음
내가 할 수있는, 스프라이트에, 확인을 heres 문제를 몸을 추가하는 부분을 가지고있다 '고양이'스프라이트에 스프라이트 본문을 추가하지만 '자동차'스프라이트에 본문을 추가하려고하면 단지 충돌이 발생합니다. '고양이'스프라이트에 본문을 추가하면 작동하지만 정상적으로 작동합니다. '자동차'에 시체를 추가 할 수 있습니까? 둘 다 같은 방법으로 몸을 추가합니다!
는 heres는 본체 첨가하는 방법
- (void)addBoxBodyForSprite:(CCSprite *)sprite {
b2BodyDef spriteBodyDef;
spriteBodyDef.type = b2_dynamicBody;
spriteBodyDef.position.Set(sprite.position.x/PTM_RATIO,
sprite.position.y/PTM_RATIO);
spriteBodyDef.userData = sprite;
b2Body *spriteBody = _world->CreateBody(&spriteBodyDef);
b2PolygonShape spriteShape;
spriteShape.SetAsBox(sprite.contentSize.width/PTM_RATIO/2,
sprite.contentSize.height/PTM_RATIO/2);
b2FixtureDef spriteShapeDef;
spriteShapeDef.shape = &spriteShape;
spriteShapeDef.density = 10.0;
spriteShapeDef.isSensor = true;
spriteBody->CreateFixture(&spriteShapeDef);
} 여기
은을 heres "고양이"
- (void)spawnCat {
CGSize winSize = [CCDirector sharedDirector].winSize;
CCSprite *cat = [CCSprite spriteWithSpriteFrameName:@"cat.jpg"];
//code here.......
[self addBoxBodyForSprite:cat];
[_spriteSheet addChild:cat];
}
의 코드에 대한 코드 '자동차'
만 '고양이'93,949,}가 충돌 위의 코드를 확인
,하지만 난이 spawnCar 방법에서 [self addBoxBodyForSprite:car];
를 제거하는 경우, 다음이 충돌 나던는 본체가 아닌 '자동차'가 ... 도움이 필요한 순간은 매우 혼란 스럽습니다. 덕분에
그건 그렇고, 당신은 아이로 선수를 두 번 추가하고 있습니다. –
당신의 전체 코드가 좋다 ... 스프라이트의 이미지 나 프레임이 있는지 여부를 스프라이트 시트에서 확인하는 것이 좋습니다 ... 동일한 코드를 다운로드하여 완전히 작동합니다 ... – Marine