3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

cocos2d-xでCocos Studioで作ったLabelの文字が変更できない?

Last updated at Posted at 2015-08-10

cocos2d-xをやり始めたところです。

MacでもCocos Studioが使えると聞いて、便利に活用しています。
ただ、ものすごく簡単なことができなかったのですが、やっと分かったので共有します。

もともと、「CSBファイル上のラベルの文字列を変更したい」と思い

// CSBファイルを読み込む
auto csb = CSLoader::getInstance()->createNode("example.csb");

// そこからラベルを取り出す
auto label = csb->getChildByName<Label*>("Label");

// ラベルの文字列を変更する
label->setString("edited string");

と書いたわけですが、これではラベルの表示は全く変わってくれません。

さっぱり分からなかったのですが、デバッガでよくよく見てみると

(ui::Text*)label

という表示があり、なんとこいつはそもそも、

「Label型ではなくText型」だった

という事実を知りました。

従いまして、以下のコードならうまくいきます。

// CSBファイルを読み込む
auto csb = CSLoader::getInstance()->createNode("example.csb");

// そこからラベルを取り出す
auto label = csb->getChildByName<Text*>("Label");

// ラベルの文字列を変更する
label->setString("edited string");

大変しょうもない話ですが、お役に立てればと思います。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?