cocos2d-xのLabelで改行時にレイアウトが崩れる?
cocos2d-x ver3系から、LabelはFreeTypeによるレンダリングとOSによるレンダリングが選べるようになりました。
FreeTypeでレンダリングさせると、OS間の差異はなくなるんですが、現状だと絵文字が出ません。なので、ユーザーの入力があるシーンでは、OSに描画させた方がいいかもしれませんね。
で、OSによるレンダリング@iOSなのですが… setDimensions によって幅を固定にして、「ここから空白→ ←ここまで空白」こんな感じの文字を表示してみます。
幅固定してるので、ほんとは↓こうなってほしいのですが…?
↓こうなったりします。
これ、どうも NSString
の stringWithUTF8String
が、半角スペースをNO-BREAK SPACE(U+00A0
)に置換しやがるのが原因のようです。
似た症状で困ってる方、CCDevice-ios.mm
を見てみると道がひらけるかもしれません。
(近々修正のプルリクエストをcocos2d-x本家に出す、かも…)
DRAGON SKY iOS版&Android版アップデートされております。未プレイの方も、ぜひこの機会にどうぞ!
Android版はこちら DRAGON SKY (ドラゴンスカイ) - Google Play の Android アプリ