敵キャラを下へ動かす

kobold2dのサンプルに入っていたParallax-Side-Scrollerを改造して自分のゲームにしている件です。
前回、何とか敵キャラの表示の差し替えだけできました
今回は、元々横方向に動いていた敵キャラの動きを縦方向にしてみます。

その前に、前回のやり残し的な話です。
不要なキャラを消したつもりでしたが、敵キャラから出ている弾が出ているようでした。表示はされていないのですが、発射音が出ているので処理が働いていたようです。

今まで関係ない処理をコメントアウトして、実際に使っている部分が限られて来たので、これは意外に早く気が付きました。
最初に、EnemyEntity.mのinitWithTypeメソッド内にある以下をコメントアウトしました。

すると、同じメソッド内にある以下も使ってないと怒られる(Unused variable)のでコメントアウトしました。

これで、弾を出す処理を完全に呼ばなくなったようで、発射音が聞こえなくなりました。

さて、敵キャラの動きを横方向から縦方向へ変更します。
まず、敵キャラの出現場所が画面右になっているので、画面上にします。
これは、EnemyEntity.mのspawnメソッドにありました。
それを以下のように変えました。

これは、単に縦と横を入れ替えただけですね。

次に、実際に敵キャラが移動する動きです。これは、なかなか見つけ難かったです。
StandardMoveComponent.mのinitメソッドにありました。どうやら、移動系の処理はこのメソッドで行っているようです。

変更は出現場所場所よりも簡単でした。xとyを入れ替えるだけです。

130501 0006
ここまででRunすると、こんな感じになりました。

このままだと、1度サーっと敵キャラが画面を通り過ぎると出てこなくなってしまいます。これを何度でも出てくるようにしました。
StandardMoveComponent.mのupdateメソッドで以下のように調整しました。

あと、1度に画面に出てくる敵キャラの量が微妙に寂しいので、頻度を少し調整しました。
EnemyEntity.mのinitSpawnFrequencyメソッドです。そのままの名前ですね。
100だった数値を20にしました。

130503 0001
これで雰囲気がゲームっぽくなってきました。


iPhoneで再生しているのを撮ってみました(5秒)。

次は、自キャラとして都市設置したいと思います。