【问题标题】:Can't add child sprite on scaled object无法在缩放对象上添加子精灵
【发布时间】:2015-06-28 03:51:20
【问题描述】:

好的,伙计们,这就是交易。

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 sprite 之前,它可以完美运行。但是因为aboutBackground 只是一个褪色的背景,所以我决定使用1px 图片并将其缩放到全屏。但是现在sprAboutPanel 没有出现在屏幕上。我真的很想知道为什么?感谢您的回复!

【问题讨论】:

  • 你知道sprAboutPanel 的位置是相对于aboutBackground 的位置的?尝试将 aboutBackground 缩放到 winsize 的一半并反馈您的观察结果。

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


【解决方案1】:

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

我会改:

aboutBackground->addChild(sprAboutPanel);

到这里:

this->addChild(sprAboutPanel);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多