テクノモンキーのアプリ開発日記

テクノモンキーの開発ブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsやアプリ開発に役立つ情報を発信します。

【Cocos2d-x】値を含めた文字列はStringUtils::formatを使うとスマートになる!

https://nzigen.com/ysawa/wp-content/uploads/2016/05/800x480_2dx_landscape.png


Cocos2d-xで値を含めた文字列を扱う場合のメモ。

auto mess = "ログインボーナス: " + to_string(1) + "枚のコインをゲットしました。";


上記のような場合だと、値を入れる位置が固定されてしまうので、
ローカライズする場合(例えば英語など)にするなどの場合、文法がおかしくなってしまう問題があります。
こうゆう文字列の中に値が入るような文字列はStringUtils::formatを使うと良さげです。

cocos2d-x: StringUtils Class Reference



StringUtils::formatを使うとスマート!(C++

StringUtils::formatを使うと、以下のような感じになります。

auto mess = StringUtils::format("ログインボーナス: %s枚のコインをゲットしました。",to_string(1));

上記であれば値を入れる位置が調整できるので、別言語の場合でも%sの位置を変更するだけで文法の問題を解消できます。

あと、値以外の文字列は1つになるので、ローカライズするために文字列をまとめる際も便利そうです。