【勉強】「cocos2d for iPhone レッスンノート」で得たことを自作アクションゲームへ反映(その8、ボツやら反転やら連続アニメーション等々)
「cocos2d for iPhone レッスンノート」で得たことを自作アクションゲームに適用させて改良する記録です。
cocos2d for iPhoneレッスンノート
(2011/09/22)
加藤寛人、佐藤伸吾 他
商品詳細を見る
目次とサンプルのダウンロードはこちら。
主に次の3. と7. と9.のブラッシュアップをしていました。
(◯→適用済、△→途中、×→ボツ、無印→まだ、色なし→前回分)
◯1. 敵クラス、主人公クラスを作り、それで出現させるようにする
△2. 乱数(CCRANDOM_0_1を使う)を発生させて最初の登場位置、スピードを調整する
◯3. 移動はupdateメソッドで行うようにする(最初から書くならばこちらの方が
楽だと思われるから)
△4. アイコン同士の衝突時はパーティクルで衝突を表現する
×5. 衝突するたびに微妙に大きくなっていく(その方がゲームとしてスリルがあるはず)
△6. 主人公とアイコンが衝突したときは画面を揺らす表現をする
△7. 難易度別ステージ(シーンで作る)を設けてクリアできるようにする
8. サウンドを入れる
△9. オープニングを入れる

(1)アイコンの衝突について
当初は衝突するたびに微妙に大きくすることを考えていました。
その方がゲームとしてオモシロイと思ったから。
でも大きくなるって自然界では変じゃないですか!
いくらゲームの世界とはいえ自然の法則を完全に無視したら逆におもしろさに欠けると思うようになり結局ボツとしました。
また衝突ではパーティクルを出すと動きが重くなり、また当たったときの反発を考えるのが難しいので(方向や速度)これもボツにしました。
その代わりアイコン同士は衝突しても通り抜けることになりました。
初期のファミコンの頃は敵同士は当たっても素通りだったのはもしかしたら同じ理由かもしれませんね!^^
(2)右向き画像は反転した左向きの画像を使うことについて
12月1日のコメントでこの本の作者の一人、@hkato193さんに教えていただいたflipXにより右向き画像は反転した左向きの画像を使うことにしました。
そのため用意する画像が減って楽になりました!!
ありがとうございます。
そうは言っても実装はちょっと手こずりました。
矢印から手を離すとMovingStateはaddAnimationメソッドでkPlayerIsStopped(条件分岐上ではdefault:)となります。
このとき反転させた場合反転したままの停止状態の主人公になってしまいます。
これを回避するために
if (self.sprite.flipX == YES) {
self.sprite.flipX = NO;
}
として反転状態を元に戻すようにしました。
また、moveLeft、moveRight、stopMovingの各メソッドでも同様の判定処理をし、反転を制御することで実装することができました。
(3)複数のスプライト間の連続アニメーションについて(涙)
同じく12月1日で書いたように@hkato193さんにツイッターで教えていただいたこの件ですが、2週間以上たったいまでもまだ実現できていません。。。
どうやればうまくいくのやら。。。そしてパラダイム転換はいつ巻き起こるのでしょう!?
今後もがんばっていきます。
ただ、今のところ判明しているのは同じクラス内でしか実装できないことでしょうか。
てぃーのプログラムの場合次のように各アクションを各クラスで分担して行うようにしています。
これだとさすがに無理ですかね?!
各クラスでどのように分担させるかそしてそれをどのようにコントロールするかは難しいです(汗
イラストについては別記事で書きたいと思います。
また他にアイデアが出てきたのでそれも実装していきたいと思います。
↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
- 関連記事
-
- 【勉強】「cocos2d for iPhone レッスンノート」で得たことを自作アクションゲームへ反映(その8、ボツやら反転やら連続アニメーション等々) (2011/12/14)
- 【勉強】「cocos2d for iPhone レッスンノート」で得たことを自作アクションゲームへ反映(その7、イラスト関係) (2011/12/06)
- 【勉強】「cocos2d for iPhone レッスンノート」で得たことを自作アクションゲームへ反映(その6、イラストとツイッターでのやり取り) (2011/12/01)
- 【勉強】「cocos2d for iPhone レッスンノート」で得たことを自作アクションゲームへ反映(その5、連続アニメーション2) (2011/11/30)
- 【勉強】「cocos2d for iPhone レッスンノート」で得たことを自作アクションゲームへ反映(その4、連続アニメーションなど) (2011/11/21)