最近プログラムを始めた初心者という前提でお願いいたします。
個人的にcocos2d-xを使ってC++でゲームを作っています。
オブジェクトの削除についてわからないことがあります。
void CharacterEditView::characterStatusInfo(int tag) {
auto winSize = Director::getInstance()->getVisibleSize();
std::string key = StringUtils::format("%d", tag);
std::map<int, std::string> column;
column[0] = "name";
column[1] = "sex";
column[2] = "job";
column[3] = "level";
column[4] = "job_level";
column[5] = "money";
column[6] = "place";
column[7] = "str";
column[8] = "agi";
column[9] = "vit";
column[10] = "int";
column[11] = "dex";
column[12] = "luk";
for (int i = 0; i < 7; i++) {
auto charaInfo = LabelTTF::create(GameManager::getInstance().characterInfo[key][column[i]], FONT_FILE_BASIC, 26);
charaInfo->setPosition(winSize.width / 2 - 280, winSize.height / 2 - 40 - (i * 50));
charaInfo->setColor(Color3B::BLACK);
charaInfo->setTag(PARAM_CHARACTER_EDIT_STATUS_INFO_TAG);
this->addChild(charaInfo);
}
for (int i = 7; i < 13; i++) {
auto statusInfo = LabelTTF::create(GameManager::getInstance().characterInfo[key][column[i]], FONT_FILE_BASIC, 26);
statusInfo->setPosition(winSize.width / 2 - 30, winSize.height / 2 - 40 - ((i - 7) * 50));
statusInfo->setColor(Color3B::BLACK);
statusInfo->setTag(PARAM_CHARACTER_EDIT_STATUS_INFO_TAG);
this->addChild(statusInfo);
}
}
ボタンを押した際に、押されたボタンの情報をこのファンクションが受け取り、
それによってキャラクターの情報を切り替えようとしています。
同じファンクションを使用して表示を切り替えようとしているので、
表示される直前に、
this->removeChildByTag(PARAM_CHARACTER_EDIT_STATUS_INFO_TAG);
をやりたいのですが。
うまくいきません。
そもそも「setTag」は違うオブジェクトに同じタグをいくつもつけれるんでしょうか?
どなたかご教授よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/06 08:22