C++11 在Cocos2d-x中多次交换背景图像

C++11 在Cocos2d-x中多次交换背景图像,c++11,cocos2d-x,C++11,Cocos2d X,我正在使用Cocos2d-x制作一个基于故事的2D游戏,我需要切换背景精灵,这是一个精灵,在游戏过程中多次使用整个画面的分辨率。我该怎么做 我想我应该在开始时将所有背景图像加载到某种类型的纹理缓存中,然后交换它们,但我真的不知道怎么做 我非常感谢Cocos2d-x 3.6的一些代码片段。我找到了一个可行的解决方案。以下内容供日后参考: void GameLayer::setNewSpriteTexture(Sprite* sprite, Texture2D* newTex) {

我正在使用Cocos2d-x制作一个基于故事的2D游戏,我需要切换背景精灵,这是一个精灵,在游戏过程中多次使用整个画面的分辨率。我该怎么做

我想我应该在开始时将所有背景图像加载到某种类型的纹理缓存中,然后交换它们,但我真的不知道怎么做


我非常感谢Cocos2d-x 3.6的一些代码片段。

我找到了一个可行的解决方案。以下内容供日后参考:

    void GameLayer::setNewSpriteTexture(Sprite* sprite, Texture2D* newTex) {

    Rect rect = Rect::ZERO;
    rect.size = newTex->getContentSize();
    sprite->setTexture(newTex);
    sprite->setTextureRect(rect, false, rect.size); 
}
每个使用过的纹理都必须按如下方式预加载到纹理缓存:

_menuTexture = Director::getInstance()->getTextureCache()->addImage("menu.png");

如果图像较大,建议您考虑使用TruttuReCase> AdDimaGasyc