Cocos2d-x Ver 3.x 画像の切り替え

Stack Overflowの回答

sprite->setTexture("alTop02.png");


このような例もある

Texture2D *pTexture =
          Director::getInstance()->getTextureCache()->addImage("alTop02.png");
sprite->setTexture(pTexture);


Objective-Cでは簡単な画像の切り替えですがメソッド化して行わないといけないようです。

引数に対象スプライトと変更する画像名です。

// 画像切り替えメソッド

replaceImage(_sprite, "alTop02.png");


void Scene01::replaceImage(Sprite *sprite, const char *imageFileName)
{
    sprite->setTexture( Director::getInstance()->getTextureCache()->addImage(imageFileName) );
    Texture2D *tex = Director::getInstance()->getTextureCache()->addImage(imageFileName);
    sprite->setTexture(tex);
    Size contentSize = tex->getContentSize();
    sprite->setTextureRect(Rect(0, 0, contentSize.width, contentSize.height));
}

 

目 次