cocos2dx cast Значение в строку свойств

Я определил свойство как tag в редакторе плиточных карт, и что извлечь, что в cocos2dx

Вот как я это делаю:

for (int h=0; h< size.height; h++){
for (int w=0;w<size.width; w++){
auto sprite = layer->tileAt(Vec2(w,h));
auto gid = layer->getTileGIDAt(Vec2(w,h));
Value v = tmap->getPropertiesForGID(gid);
ValueMap m = v.asValueMap();
auto tag = m.at("tag");
if (!tag.isNull()) {
CCLOG(" tag string is %s", tag.asString());
}
}
}

Я ожидал, что результат будет как blue, gray, black.... это тег, который я вставил в свойства мозаичного спрайта, но на самом деле это нечто вроде:

   tag string is ?SEgray

вместо

  tag string is gray

Что-то вроде того
Я также попробовал это:

  tag.asString();

Но это тоже не так.

1

Решение

Я понял это

Я должен использовать это

std::string type = tag.asString().c_str();

бросить в последнюю строку, не уверен, что .c_str() есть, но это сработало.
Мысль должна поместить это здесь, чтобы помочь кому-то встретиться с той же самой проблемой.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]