cocos2d-x Sprite::create("filename.png") 返回 null

cocos2d-x Sprite::create("filename.png") returning null

出于某种原因,这已停止工作。上次我在做这个项目的时候它是工作的,但现在不是了。我仔细检查了 spaceCannonTitle.png 是否包含在项目中。但它在 setPosition 行抛出异常,因为 title_sprite 为空。

bool MenuScene::init()
{
    if ( !Layer::init() )
    {
        return false;
    }

    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();

    auto title_sprite = cocos2d::Sprite::create( "spaceCannonTitle.png" );
    title_sprite->setPosition( Point( visibleSize.width / 2 + origin.x, visibleSize.height - title_sprite->getContentSize( ).height ) );

    this->addChild( title_sprite );
    ...
}

编辑: 如果我注释掉 title_sprite,那么它不会崩溃,但我看不到菜单并且出现此错误:

libpng error: CgBI: unhandled critical chunk

我找到了解决方案 here。显然你必须去构建设置并将 Remove Text Metadata From PNG Files 设置为 NO.