cocos2d-xのCCSpriteとTexture Packer

cocos2d-xに使うCCSpriteオブジェクトは画像で生成されたのです。
毎回新しい画像を読み込むのがメモリ消耗が激しいので、
画像を一枚のテクスチャにまとめて、プログラミングでこのテクスチャから切り取って使います。
Unityのアトラスatlasみたいなもんです。

画像を一枚にまとめて、設定ファイルも一緒に作れるソフトを使いました。
Texture Packer
有料ですが、無料で試用できます。

Texture Packerでテクスチャ画像を作成

1.「Add sprites」で画像をインポートする。
スクリーンショット 2014-10-18 15.23.42

2.ソフトが画像を一枚に集約してくれた。
スクリーンショット 2014-10-18 15.23.54

3.plistファイル(Data file)と画像(Texture file)の出力パスを設定。
スクリーンショット 2014-10-18 15.24.07

4.「Publish sprite sheet」をクリックし、ファイルを出力。
スクリーンショット 2014-10-18 15.24.25

5.出力を結果を確認し、画像の準備が終了。
スクリーンショット 2014-10-18 15.24.50

6.設定ファイルと画像ファイルをcocos2d-xのプロジェクトのResourceフォルダにコピー。
スクリーンショット 2014-10-18 15.52.48

CCSpriteオブジェクトの生成

CCSpriteFrameCacheオブジェクトを初期化

Sceneのクラスをこのクラスのオブジェクトを宣言する。

cocos2d::CCSpriteFrameCache* _frameCache;

sceneのinitメソッドで初期化する

_frameCache = CCSpriteFrameCache::sharedSpriteFrameCache();
_frameCache->addSpriteFramesWithFile("packer.plist");

CCSpriteオブジェクトの生成

CCSpriteのcreateWithSpriteFrameNameメソッドでオブジェクトを作る

CCSprite* pSprite = CCSprite::createWithSpriteFrameName("train.png");

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>