[cocos2d] ゲーム開発日誌part14 ブーメランの実装

[cocos2d] ゲーム開発日誌part14 ブーメランの実装
   

アクションRPGの定番であるブーメランをcococs2dを使って表現できるかどうかを考えていました。

考え方

ブーメランを表す専用のクラスを作り、Playerが攻撃のボタンを押した際にブーメランをインスタンス化して動かします。

スクリーンショット 2012 05 18 21 17 34

ブーメランを表すクラス

このクラス内で、ブーメランの回転と移動を設定します。

ブーメランの回転

ブーメランの回転にはCCActionのCCRepeatForeeverを使います。
私は初期化の段階で設定をしています。こんな感じです。


移動

移動に関してはどうするか非常に苦労をしました。
私の考えるブーメランとはこんな感じです。

基本的なブーメランの移動について
一定の距離まで行って帰ってくる動きは、時間によって管理することにしました。
コードで表すとこんな感じです。

update内で一庭の時間が過ぎれば、移動の量や方向を変化させます。
壁やオブジェクトに当たったときには、timeを調整しすぐにPlayer方向に帰ってくるようにします。

自機(Player)クラスでのブーメラン処理

これに関しては共にCCActionクラスを組み合わせてタイミングなどを調節します。
特にどの方向にブーメランを生成するかが肝になるのですが、私は自機の方向かたブーメランの移動方向を決めています。
こんな感じです。


デモ動画

以前から少しづつ考えて作っていたのですが、結構うまくできたと個人的に思っています。
いかがでしょうか?

Related Posts Plugin for WordPress, Blogger...
photo by: cogdogblog