だいたい47度

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

Box2Dを知るためLearning Cocos2Dを読む(2)Part I Getting Started with Cocos2D

cocos2dの物理エンジン周りの勉強&cocos2dの復習のため、Learning Cocos2Dを読んだメモを残していきます。手にとった理由や全体的な印象などは前回参照。

全5部17章構成で今回は1部の1-4章を読みます。

今回の範囲を読んでみて思ったのは、Learning Cocos2Dは「ただcocos2dが使えるようになればいい」という本の一段上を見ている本だなぁということです。たとえば、CCSpriteやbatchNodeの話をするときも、OpenGLだとこう書くので、cocos2dはこうやって書きます、という説明までしてくれています。

また、細かい気を使ってくれる本だという印象も受けました。たとえば、コードサンプルの直後にはWarningとして初心者がミスりそうなポカを指摘してくれています(☓☓を忘れると○○っていうエラーが出るよって感じで)。そういうミスはググっても出てこないからいいですね。

一方でメモリ管理に関しての説明がないのが気になります。cocos2dで作る iPhone&iPadゲームプログラミングだと最初から結構何度も繰り返していたのですが。そこは読む前に把握しておいてね、ってことなのかな。


Chapter 1 Hello, Cocos2D
cocos2dのインストールからHelloWorldをいじってCCActionなどを使ってみたりします。セットアップ部分についてはバージョンが古いのであまりあてにしない方がよいと思います。

AppDelegate.mの中身についてきちんと書いてあるのが良かったです。適当に流していたので勉強になりました。ただ、いま読むとなるほどなぁという感じですが、いきなりこれ読んでもハードル高く感じるかも……。んー、でも最初から分かってれば変なところでハマったりもしないのかな。


Chapter 2 Hello, Space Viking
さっそくSpace VikingをiPad上で作っていきます。プロジェクトの作成から、背景・キャラクタの描画、SneakyInputを使った仮想ジョイスティック作成まで。最後にテクスチャアトラスについても結構詳しく書いてありますが、使うのはChapter3から。

上にも書きましたが「OpenGLがこう書くから、cocos2dではこう書くのです」という説明が多くて、なるほどと思うことが多いです。単にcocos2dでゲームが作れればよいという本より一段高いイメージです。

Tipsの3本指横スワイプで.mと.hが切り替えられるの知らなかった……。いつもOpt+Cmd+Upでやっていました。ところどころにこういうのが出てくるのも飽きさせません。


Chapter 3 Introduction to Cocos2D Animation and Actions
Chapter 2の基礎を元にゲームを設計し、必要なクラスについて考え、抽象クラスにあたるものを作成します。アプリを先に見ておいた方がよいです。またアニメーションについての説明があります。前回作ったゲームではアニメーションを使わなかったので、アニメーション周りは学ぶことが多かったです。

アニメーションの画像描画管理はplistで行うものなのですね。各オブジェクトごとにplistファイルを作り、その中に各動作のDictionaryを作る。各動作のDictionaryには、表示する画像番号の配列、delayタイム、画像のprefixを格納。- (CCAnimation*)loadPlistForAnimationWithAnimationName: andClassName:のような共通メソッドを作っておいて読み出します。この方法は便利なので覚えておこうと思います。

plist_sample.png


あと細かいですけど、CCAnimationCacheを使うときは勝手にキャッシュが破棄されることがあるから、使う側でretainしないといけないんですね。へぇ。

クラスの配置に関して、Groupを以下のように用意するのはいいなぁと思いました。Constants, Scenes, Layers, GameObjects, EnemyObjects, PowerUps, Singletons。Constantsは、定数を扱うヘッダファイルやプロトコルファイルを置く感じ。


Chapter 4 Collision Detection and the First Enemy
Chapter 3で作った抽象クラスを元に、シンプルな敵と主人公を作ります。主人公が左右に移動し、敵を壊すところまで作れます。

Chapter 3の設計がキレイにハマっていて感心します。やっぱり最初にきちんと青写真を描かないといけないなぁと思いつつも、自分が作っていくと全然違うものになるんだよなぁ……。

#pragma markの説明があり。そういえば「これなんだっけ」と思ったまま放置していました。a formatting guide for Xcode and is not seen by complierとのことです。ソースの栞みたいに使えるんですね。こちらなどが詳しいです。今度使ってみよう。しかし、TODOとかも一覧で見られたのか。



以上でPart I Getting Started with Cocos2Dは終了。ちょうどここまで作成した動画が上がっていました。画面上でできることはしょぼいけど、裏では弾を食らった処理とかも既に記述済みなので、コード自体は結構見るものあります。

最初のパートだから読み飛ばせるかと思ったけど、意外と知らないことが多くて勉強になりました。ちょっとクドいくらいに説明があるけど、そのぶん英語でも読みやすいし、買って正解だったと思ってます。ではまた次回


Learning Cocos2D: A Hands-On Guide to Building iOS Games with Cocos2D, Box2D, and ChipmunkLearning Cocos2D: A Hands-On Guide to Building iOS Games with Cocos2D, Box2D, and Chipmunk
(2011/07/07)
Rod Wenderlich, Ray Strougo

商品詳細を見る
関連記事
スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。