cocos2d-iPhoneのv3でCCLabelAtlasがなくなっている

どうも、Averageです。

最近、新しいアプリの開発をしているのですがそこで私が使用しているiPhone/iPad用ゲーム開発ライブラリ、cocos2d-iPhoneがバージョン3.1がリリースされていたのでインストールしています。

今回のバージョンアップで色々と変更された点が多すぎて、色々と戸惑っております・・・。

細かい仕様の違いは下記の記事が詳しいです。
https://pentacreation.com/blog/2014/05/140531.html

私が戸惑った部分は、CCLabelAtlasというクラスがなくなっていたことです。

このクラスは数字などのフォントを画像で扱えて便利でした。
よくスコアなどの数字はゲーム用に特別な数字画像で表現したりするので、その際に重宝しました。

Googleで検索してみるとどうやら今回のバージョン3.1でなくなってしまったようなので、別の手段でやる必要があります。

CCLabelBMFontクラスを使えばCCLabelAtlasと同じような機能が使えることがわかったので、こちらを使いました。

使い方はこんな感じ。

[objc]
//スコア表示
CCLabelBMFont *scoreLabel = [CCLabelBMFont labelWithString:@"0" fntFile:@"number.fnt"];
scoreLabel.scale = 0.7f;
scoreLabel.position = ccp(scoreBack.position.x – 55, scoreBack.position.y + 30);
[self addChild:scoreLabel];
[/objc]

fntFileというファイルを作成して読み込ませないといけないのが手間ですが、この方法でいけました。

fntFileの作成方法に関しては下記がわかりやすかったです。
https://noriki.cocolog-nifty.com/blog/2012/04/xcod.html

あとはスコアの値をNSString型に変換して、代入すればスコア表示ができるようになります。

[objc]
int score = 10;
NSString *strScore = [NSString stringWithFormat:@"%d",score];
[scoreLabel setString:strScore];
[/objc]

上記のサンプルですと10というスコア結果が表示されます。

とりあえずこの方法で今のところはなんとかなっているので、問題はなさそうです。

最新バージョンになると便利な部分もあるのですが、過去のバージョンと整合性が取れなくなると、それまでのリソースやノウハウが使えなくなるのは怖いですね・・・。

けど、今回のバージョン3シリーズは一応前回のバージョン2と並行して使用できるので、今までのアプリはバージョン2でメンテナンスしながら今後のアプリはバージョン3で開発していくスタンスで行こうと思います。

コメント