LOGSTACK

Tips for programming

Daily Archives / 水曜日, 5月 14, 2014

  • 5月 14 / 2014
  • 0
cocos2d-x, iOSアプリ開発

CCLabelTTFで文字が表示されない

iOS7にすると昔のソースが動かなくなっていました。
CCLabelTTFからラベルを作成すると、フォントが表示されなくなっていたようです。
公式の最新では既に対処されているのかもしれませんが、古いソースでは下記の修正で動きました。

変更箇所:cocos2dx/platform/ios/CCImage.mm
変更メソッド:_initWithString

◎ 変更前

◎ 変更後

同じメソッド内で、古いUITextAlignmentが使用されているので、
こちらもNSTextAlignmentへ変更します。

◎ 変更前

◎ 変更後

最後に、UILineBreakModeWordWrap を、NSLineBreakByWordWrappingへ修正します。

◎ 変更前

◎ 変更後

以上の修正で、TTFLabelから作成されたCCMenuItemLabelの表示まで確認できました


  • 5月 14 / 2014
  • 0
ツール

fntファイルから文字列の画像を作成

cocos2d系でゲームを開発する場合に、
fntファイルを作成して文字を描画する場合が多いかと思います。

参考)fntファイル作成ツール:GlyphDesigner
http://71squared.com/ja/glyphdesigner

fntファイルを使った文字は単純に画像ですので、組み込みフォントとは大分印象が異なってきます。
そのため、モックの段階で配置イメージを確認したい場合が多々あります。

しかし1文字ずつ座標を計算しながらモック用の画像を作るのが面倒なため、
fntファイルから指定した文字列の画像を作成するツールを作成しました。

実際のコード上で次のように書く部分について、

“timesnew40.fnt”で描かれた”HitPoints”の画像を1枚絵として取得するツールです。
モックでの利用を想定しています。

ついでに固定幅で指定するCCLabelAtlas用も作成しました。

といったコード向けです。

そんなわけで、興味のある方は下記からご利用ください

fntファイルと対応するpngファイルを指定して、一枚画像を作成

fntファイル
pngファイル
入力テキスト

固定幅の文字画像と、文字列を指定して一枚画像を作成

pngファイル
1文字あたりの横幅サイズ px
開始文字
(例)画像の一番左端の文字が”A”の場合、Aを入力してください
入力テキスト