如何通过 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 字符串,所以我这样创建,输出是 "The name is: ??"
int _destroyedUnits = 20;
std::string intToString = std::to_string(_destroyedUnits);
std::string name("x" + intToString);
CCLOG("The name is: %s", name);
正确的做法是什么?你好。
我看到 createWithSpriteFrameName 接受 C++ basic_string,而不是 Cocos 字符串,所以方法是使用字符串而不是字符串 class。
int _destroyedUnits = 4;
std::string intToString = std::to_string(_destroyedUnits);
std::string name("x" + intToString + ".png");
auto combo = Sprite::createWithSpriteFrameName(name);
你好。
根据cocos2d-x测试中的建议,正确的方法是使用sprintf,你可以这样使用:
char tmp[30];
sprintf(tmp,"x%i.png", _destroyedUnits);
std::string atlasName = tmp;
auto combo = Sprite::createWithSpriteFrameName(atlasName.c_str());
我想根据 Cocos2d-x 和 C++ 中的一些动态变量更改精灵图像,所以我正在尝试类似的操作,但出现错误。什么是正确的方法呢?你好。
auto name = String::createWithFormat("x%i.png", _destroyedUnits);
auto combo = Sprite::createWithSpriteFrameName(name);
我看到 createWithSpriteFrameName 接受 C++ basic_string,而不是 Cocos 字符串,所以我这样创建,输出是 "The name is: ??"
int _destroyedUnits = 20;
std::string intToString = std::to_string(_destroyedUnits);
std::string name("x" + intToString);
CCLOG("The name is: %s", name);
正确的做法是什么?你好。
我看到 createWithSpriteFrameName 接受 C++ basic_string,而不是 Cocos 字符串,所以方法是使用字符串而不是字符串 class。
int _destroyedUnits = 4;
std::string intToString = std::to_string(_destroyedUnits);
std::string name("x" + intToString + ".png");
auto combo = Sprite::createWithSpriteFrameName(name);
你好。
根据cocos2d-x测试中的建议,正确的方法是使用sprintf,你可以这样使用:
char tmp[30];
sprintf(tmp,"x%i.png", _destroyedUnits);
std::string atlasName = tmp;
auto combo = Sprite::createWithSpriteFrameName(atlasName.c_str());