Poppin Games Engineer Blog

ポッピンゲームズジャパン株式会社のエンジニアのブログ。弊社製品やcocos2d-x、AWSに関する情報を中心に発信しております。

cocos2d-xのLabelで改行時にレイアウトが崩れる?

cocos2d-x ver3系から、LabelはFreeTypeによるレンダリングとOSによるレンダリングが選べるようになりました。

FreeTypeレンダリングさせると、OS間の差異はなくなるんですが、現状だと絵文字が出ません。なので、ユーザーの入力があるシーンでは、OSに描画させた方がいいかもしれませんね。

で、OSによるレンダリング@iOSなのですが… setDimensions によって幅を固定にして、「ここから空白→    ←ここまで空白」こんな感じの文字を表示してみます。

幅固定してるので、ほんとは↓こうなってほしいのですが…?

f:id:poppingames:20150410213635p:plain

↓こうなったりします。

f:id:poppingames:20150410213641p:plain

これ、どうも NSStringstringWithUTF8String が、半角スペースをNO-BREAK SPACE(U+00A0)に置換しやがるのが原因のようです。

似た症状で困ってる方、CCDevice-ios.mm を見てみると道がひらけるかもしれません。

(近々修正のプルリクエストをcocos2d-x本家に出す、かも…)


DRAGON SKY iOS版&Android版アップデートされております。未プレイの方も、ぜひこの機会にどうぞ!

Android版はこちら DRAGON SKY (ドラゴンスカイ) - Google Play の Android アプリ