FC2ブログ

Entries

cocos2d スプライトの巻

iPhone 2Dゲーム作成ライブラリ cocos2d のプログラミングガイドの日本語訳です。

今回は、スプライトについて。スプライトは、直訳すると「妖精」っていう意味で、画面上の小さなキャラクタを高速に合成表示するための技術的な仕組みのことだそうです。

早速読んでいきましょう!

--------------------------------
cocos2d プログラミングガイド
スプライト

<目次

スプライトの使い方

スプライトの作成と追加方法
スプライトの簡単なご紹介

スプライトを作成する別の方法
画像から

画像の rect から

スプライトフレームから


スプライトシート
1枚のスプライトシートはひとつの大きなファイルに詰め込まれたスプライトの集合体です。

スプライトシートにより多くのスプライトを詰め込むことにより、消費メモリを少なくできます。

cocos2d 用のスプライトシートを作成する3つの方法があります。

均一に並んだスプライトシート


この種のスプライトシートはメタデータが定義されていません。すべてのスプライトは同じサイズである必要があります。さもないと、それぞれのスプライトがどの位置にあるかを知ることができないからです。

この種のスプライトシートは最適化されていないので、無駄なスペースがあります。iOS ではメモリは大変大切なリソースなので、この方法でスプライトシートを作成することはおすすめできません。

ツール:
Sprite Packer (Free)
ImageMagick (Free)


mkatlas.pl
mkatlas.pl は cocos2d に同封されているスクリプトで、これを使ってスプライト rect を作成できます。

このツールは使用されていないスペースの最適化を行ない、ムダのない方法でスプライトを詰め込みます。

このツールはヘッダファイル .h の中にメタデータを生成します。

mkatlas.pl (Free)


上級スプライトシート


この種のスプライトシートは mkatlas.pl と同様に、スプライトシートの空間を最大限に利用するために、スプライトの順番を入れ替えたり、回転させたりして無駄な空間を最適化します。

スプライトの位置、名前を含むメタデータ(.plist)を構築します。

スプライトシートを作成する場合は、この方法をおすすめします。

zwoptex flash (Free)
zwoptex (Commercial)
TexturePacker (Free, Advanced features commercial)
Sprite Master (Commercial)

CCSpriteFrameCache でこの種のスプライトシートを読み込むことが可能です。


CCSpriteFrameCache の使い方



スプライトのサブクラスの定義方法
CCSprite のサブクラスを定義したい場合は、「initWithTexture:rect:」メソッドを実装する必要があります。

例:


-----------------------------------------
このスプライトシートって便利ですね。

アニメーションの調査の時にツールの調査もしましたが、あの時に、ちかん君が横になったりしたのは、最適化していたんですね。

たしかに、フレーム名さえ決まってれば、どの場所にどんなかたちで配置されていたとしても名前でアクセスできるし、開発中に画像がどんどん増えたとしても名前でアクセスできるので場所は全然どこにあっても問題ないってことなんですね。

いやいや、自分で実装するより何百倍も便利ですなぁ・・・。

スポンサーサイト



スポンサード リンク

Appendix

出演ゲーム

みやちかんたろうの大冒険

↑インストールはこちらから
予告編

21面デモ

ステージ作成

検索フォーム

訪問者

Apple製品紹介

Apple MacBook Air 1.6GHz 13.3インチ MB003J/A

中古価格
¥59,800から
(2013/1/24 06:45時点)

QRコード

QR

メールフォーム

名前:
メール:
件名:
本文:

Extra

プロフィール

みやちかんたろう

Author:みやちかんたろう
種別:きいろいねこ
年齢:10歳
性別:オス
趣味:昆虫採集
twitter:@gatsupport

※このサイトはリンクフリーです。ご自由にリンクしてください。相互リンクもじゃんじゃん募集中です!!

最新記事

最新コメント

最新トラックバック

月別アーカイブ