我有添加到場景中的sprite的batchnode。這些精靈的位置是從batchende的位置偏離的,所以我可以將它們圍繞批處理節點旋轉。將sprite添加到sprite節點會導致sprite位置發生變化
當我將這些精靈附加到任何這些精靈上時,它們在屏幕上的位置發生更改時會出現問題。
balloon1 = [CCSprite spriteWithSpriteFrameName:@"1.png"];
balloon1.position = ccp(30,30);
balloon1.tag = 10;
//balloon1.anchorPoint = ccp(1.1,0.7);
[spriteNode addChild:balloon1];
b2BodyDef balloonBodyDef;
balloonBodyDef.type = b2_dynamicBody;
balloonBodyDef.position.Set((160 + balloon1.position.y)/PTM_RATIO, (240 - balloon1.position.x)/PTM_RATIO);
balloonBodyDef.userData = balloon1;
b2Body *balloonBody = world->CreateBody(&balloonBodyDef);
b2PolygonShape balloon;
balloon.SetAsBox((balloon1.contentSize.width/PTM_RATIO/2),
(balloon1.contentSize.height/PTM_RATIO/2));
// Create shape definition and add to body
b2FixtureDef laserGunShapeDef;
laserGunShapeDef.shape = &laser;
//laserGunShapeDef.density = 0.0f;
//laserGunShapeDef.friction = 10.0f;
//laserGunShapeDef.restitution = 0.0f;
b2Fixture *balloonFixture = balloonBody->CreateFixture(&laserGunShapeDef);
如果我添加了氣球一樣從文件中的精靈,這個工程確定,但是當其作爲上述做了,那麼氣球移開屏幕。
任何想法,將不勝感激。
嗨,感謝您的回覆,但我仍然有同樣的問題。如果將一個精靈添加到場景中,該代碼可以工作,但如果我從一個batchnode添加一個精靈,那麼精靈似乎會偏移。 –
try spriteNode.position = ccp(0.0f,0.0f); – Guru