CCLabelBMFontを利用した際に、「FontDefinition could not be found!」とエラーが出た時の対処方法

cocos2dをver2に変更した後に、ちょくちょくエラーが発見されます。今回は、CCLabelBMFontクラスに関してものものです。 cocos2dのver1のそのままで文字を表示しようとすると以下のようなエラーがでます。 [c] 2013-02-13 18:55:29.462 myGameProject[20826:c07] Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'FontDefinition could not be found!' First throw call stack: (0x2238012 0x1c15e7e 0x2237e78 0x16abf35 0x13e9f5 0x13f42f 0x13cb72 0x13f451 0x13c9c4 0x13c42d 0x13c389 0x2f7bc 0xf85b7 0x14e005 0xf781a 0x73f8 0x711a 0x8614 0xb5a80f 0xb5ae01 0xb5bfab 0xb6d315 0xb6e24b 0xb5fcf8 0x2f40df9 0x2f40ad0 0x21adbf5 0x21ad962 0x21debb6 0x21ddf44 0x21dde1b 0xb5b7da 0xb5d65c 0x6f80 0x2365) libc++abi.dylib: terminate called throwing an exception Current language: auto; currently objective-c [/c]

原因

「'FontDefinition could not be found!'」 このエラーは、NSStringで指定された文字が、用意したフォントの中にない場合に出てきます。あなたの用意したフォントのデータを一度確認してください。 私は半角の「,」が原因でした。全角の「、」は用意していました。

さいごに

実はこんなエラーはcocos2dのver1では起こりません。 フォントデータにないものは、無いものとして次の文字を表示していました。 やはりver2.0に上がって変更点の問題でしたね。

是非お困りの方は、フォントデータをよく確認をしてください。

[参考サイト]