夏までにiPhone アプリつくってみっか!

趣味でiPhone/Androidアプリを開発し、日々勉強した事を書いています。オープンワールド系レースゲームをUnityで開発中です。

【cocos2d】縦シューにします

cocos2dを使って2Dシューティングゲームを作ることに決めましたが、2Dシューティングゲームと言っても縦スクロールや横スクロールなどいろいろありますね。

懐かしのスペースハリアーのような画面奥に向かって進むゲームは3D風味ですが、キャラクターは2Dのスプライトで表現されていますのでcocos2dで作れるかも。いつか作ってみたいですね。でも、地面の処理がなんか面倒臭そうなので、第1作目としてはふさわしくないでしょうね。

 

いろいろ考えた結果、縦スクロールシューティングゲームに決めました!

 

いずれは背景やキャラクターを自分で描かなくてはいけないのですが、横スクロールだと、キャラクターと同じ距離にある背景をしっかり書き込まないといけないような気がします。また、自機と地形の衝突判定も厄介そうです。

縦スクロールの場合は地面は遠くにあるという設定にしてしまえばざっくりでもなんとかなるでしょう。

そういう消極的な理由です。

 

さて、ざっくりと何を作るかは決まりましたが、cocos2dのことをしっかり理解してから取りかからないとあとあと面倒なことになりそうです。

ネット上のチュートリアルである程度の予備知識はつけましたが、「あの機能どう使うんだっけ」と後から調べようとしても目的の情報に再びたどり着くのが結構たいへんです。

なので、cocos2dの解説本を一冊買いました。

英語なので読むのが少し厄介ですが、最新のcocos2d Ver. 2に対応しているのが決め手でした。cocos2dはバージョンにより結構違いがあるようで、チュートリアルサイトで勉強していたときもエラーが出て動かないということがちょいちょいありました。そういうガッカリを防ぐためにもVer. 2対応は重要だと思います。

Ver. 2に対応している日本語の本であるこちら

と比較検討しましたが、最終的にページ数が多くて(544ページ vs 223ページ)お得ということで英語の本に決めました。

 

まだ1/3くらいしか読んでいませんが、買って正解でした。内容はかなり親切で解りやすいです。

チュートリアルサイトだと「これをこうする」という感じの説明が多いのですが、この本では「これをこうする。なぜならこうだから」という感じで理由を詳しく解説してくれています。

例えば、「CCSpriteを継承してキャラクターのクラスを作るよりCCNodeを継承してCCSpriteをインスタンス変数に保持するようが良い」ということは良く言われていますが、その理由を詳細に解説してくれています。

このほかにも、ゲームの面をCCSceneで実装するかCCLayerで実装するかその使い分け、CCLabelTTFとCCLabelBMFontの長所・短所など、今まで疑問に思っていたり思っていなかったりする様々な事が解説されています。さすが544ページの大ボリュームと言った感じです!

この本を読む前と後ではプログラムの設計が大きくかわりそうなので、しっかり最後まで読んでから設計に取りかかりたいと思います。