如何使用动态精灵名称与createWithSpriteFrameName
How to use dynamic sprite names with createWithSpriteFrameName?
我想根据Cocos2d-x和c++中的一些动态变量改变一个精灵图像,所以我在尝试这样做,但有一个错误。怎么做才是正确的呢?问候。
auto name = String::createWithFormat("x%i.png", _destroyedUnits);
auto combo = Sprite::createWithSpriteFrameName(name);
我已经看到createWithSpriteFrameName接受c++ basic_string,而不是Cocos String,所以我这样创建,输出是"名称是:??"
int _destroyedUnits = 20;
std::string intToString = std::to_string(_destroyedUnits);
std::string name("x" + intToString);
CCLOG("The name is: %s", name);
正确的做法是什么?问候。
根据cocos2d-x测试的建议,正确的方法是使用sprintf,您可以这样使用它:
char tmp[30];
sprintf(tmp,"x%i.png", _destroyedUnits);
std::string atlasName = tmp;
auto combo = Sprite::createWithSpriteFrameName(atlasName.c_str());
我看到createWithSpriteFrameName接受c++ basic_string,而不是Cocos String,所以方法是使用String而不是String类。
int _destroyedUnits = 4;
std::string intToString = std::to_string(_destroyedUnits);
std::string name("x" + intToString + ".png");
auto combo = Sprite::createWithSpriteFrameName(name);
问候。
相关文章:
- 没有找到相关文章