シンプルなiPhoneゲームをcocos2dでつくるチュートリアルで四苦八苦

How To Make A Simple iPhone Game with Cocos2D 2.X Tutorial | raywenderlich.com

このたびiPhoneアプリ開発デビュー&cocos2dデビューとなりました。ものすごい壁がでかくて泣きべそかいていますが、ようやく一つゲームが動きました。ああ、なんてこったい。

 cocos2dとは、iPhone/iPadアプリのゲームを作るフレームワーク(?)。ゲームを作るのはけっこう難しい(?)のだけど、これを使うと比較的簡単に(?)できるらしい。公式サイトhttp://www.cocos2d-iphone.org/にいくと、これを用いて開発されたゲームの一覧http://www.cocos2d-iphone.org/games/の一覧もあって、アイコンみるだけでも楽しそう。

 cocos2dの基本的な考え方(http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:basic_concepts)は、シーン、ディレクター、レイヤー、スプライトがある。シーンは、ゲームのシーン、ディレクターは文字通りシーンの行き来を制御して、レイヤーを重ねてシーンを作り、スプライトはゲーム内のキャラクターとか飛んできたり動いたりそういったものをさすようだ。

 で、cocos2dは便利そうなのだけど、日本語の資料がないに等しい。資料も少ない。と思ったらhttp://www.cocos2d-iphone.org/wiki/doku.php/resources:iphone_recommended_readingにわりと列挙されているよオーマイガ! 自分の英語力のなさを笑うがいいさ。

 で。3rdパーティチュートリアルで最初にあるHow To Make A Simple iPhone Game with Cocos2D 2.X Tutorial | raywenderlich.comをやってみたわけだ。この記事はcocos2dのBeginners' Guideに比べたら英語が断然読みやすいし、ちゃんと完結している。がんばって読んだりコーディングしたのだが、途中あたりから、起動しても動かないになってしまって、結局ソースコードをダウンロードした。中をみると、解説にないよ的コードも多少あるが、それらを追加して、さあ動くかと思ったら、動いてもすぐ落ちたりする。それが何故なのか全然わからない。もしかして動かないコードかと思ったらちゃんと動く。自分のプロジェクトにファイルをコピーしても動く(そりゃそうだ)。中身だけコピーしても動く。1行ずつ見比べていっても、どうしてもどうしてもわっからない!。

 何度か動かすうちに、どこで落ちるかが少しずつわかってきて(最初はどこで落ちるかもわからなかった)、落ちるあたりを重点的にソースコードを見比べると、微妙な間違いがちょこちょこあって、その都度Ooops!とか言いつつ。最後の最後、どうしてもわからないわからない箇所があって、一部ずつ正しいコードをその行だけコピーしてみる。見比べても何が違うのかわからないのだ!

 最後の最後に判明したのは、CCCallFuncN を CCCallFunc と間違えていたことだった!!!
 だってビルドできるし実行もできちゃうんだぜ? もうわけわっかんねええ。

 というわけで、このチュートリアルのダウンロードできるソースは、Xcode 3.2.3のcocos2d 0.99.4で動作することが現実のものとなりました。

 いやほーい! ゲーム開発者への第一歩! アプリで一攫千金!

orz

 でもでももし面白いゲームをつくったら堂珍君にやってもらえんじゃないかしらとか思ったんだけど、でもiPhoneのアプリはやらなさそうだよね。X-box好きみたいだし(>▽<) 妄想爆発ばーん!