无法在缩放对象上添加子精灵

时间:2015-04-21 06:28:54

标签: sprite cocos2d-x scale cocos2d-x-3.0 addchild

好的,伙计们,这是合约。

aboutBackground = Sprite::create("fadeBack.png");
aboutBackground->setScale(winSize.width, winSize.height);
aboutBackground->setPosition(winSize.width*0.5, winSize.height*0.5);
this->addChild(aboutBackground);

Sprite *sprAboutPanel = Sprite::create("aboutPanel.png");
sprAboutPanel->setPosition(aboutBackground->getBoundingBox().size.width*0.5, aboutBackground->getBoundingBox().size.height*0.5);
aboutBackground->addChild(sprAboutPanel);

在缩放aboutBackground精灵之前,它完美无缺。但由于aboutBackground只是一个渐弱的背景,我决定使用1px图片并将其缩放到全屏。但是现在sprAboutPanel没有出现在屏幕上。我真的好奇为什么?感谢您的回复!

1 个答案:

答案 0 :(得分:1)

您可以在此实例中使用的一个技巧是不将about面板添加为背景的子项,而是添加场景。由于缩放了位置,因此缩放父级会使孩子难以定位。您可能会在代码中发现,如果将aboutPanel的位置设置为(0.5,0.5),它可能会按预期工作。

我会改变:

aboutBackground->addChild(sprAboutPanel);

到此:

this->addChild(sprAboutPanel);