0
確定,即時通訊繼Box2D的的RW教程,我得增加身體的精靈,確定繼承人的問題的一部分,我不能身體添加到我的精靈Box2D的修訂
我可以在'貓'精靈上添加精靈主體,但是當我嘗試添加一個主體到'汽車'精靈時,它只是崩潰.. 它工作正常,如果我只是添加一個身體到'貓'精靈,但爲什麼不能我添加一個身體的'車'? 他們都使用相同的方法來添加一個body!
繼承人加入體的方法:
- (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);
}
這裏是用於 '貓'
- (void)spawnCat {
CGSize winSize = [CCDirector sharedDirector].winSize;
CCSprite *cat = [CCSprite spriteWithSpriteFrameName:@"cat.jpg"];
//code here.......
[self addBoxBodyForSprite:cat];
[_spriteSheet addChild:cat];
}
繼承人用於該代碼的代碼'car'
- (void)spawnCar {
CCSprite *car = [CCSprite spriteWithSpriteFrameName:@"car.jpg"];
car.position = ccp(100, 100);
car.tag = 2;
[self addBoxBodyForSprite:car];
[_spriteSheet addChild:car];
}
確定與崩潰上面的代碼,但如果我從spawnCar方法去除[self addBoxBodyForSprite:car];
,那麼它不崩潰,只有「貓」的身體,而不是「車」 ...... 。需要幫助我現在很困惑。謝謝
順便說一句,你是作爲一個孩子兩次加入球員。 – 2012-02-14 16:51:15
你的整個代碼都很好......我建議你檢查一下spritesheet是否有精靈的圖像或框架....我已經下載了相同的代碼,它完全可以工作...... – Marine 2012-02-15 07:09:25