我有添加到场景中的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