晴れ時々Unity、そののち映画Unityを使ったモバイルアプリ制作をはじめてみた、私の制作奮闘記。隕石のアップグレードさ〜て、いままで結構放っておいた、隕石自体のアップグレード、やってみましょうかね!ひとまず向きをランダムで生成さ、これまで一定の向きでしか発生しなかった隕石、ひとまず向きを変えてバリエーションを付けましょう!簡単過ぎて、書くまでもないかな?ホントに単純でしたね...斜めに落下する隕石も生成さて、ゲームに変化を付けるために、斜めに落下してくる隕石も作ってみようと思いますね。最初、そんなの要らないかと思ってたんだけど、やっぱりちょっと必要かな?アクセント的なのと、後はやり込み要素も含めて。インベーターゲームのマザーシップみたいに、簡単な決め毎でパターンを作ってやる感じで。斜めに落下してくるんですが、通り道は一緒にしたいんですよね。円周上を斜めに落下するように。なんで、移動ベクトルとか持つ形じゃなくて、純粋にサインコサインと経過時間から角度を求めて座標を得る形にしちゃいますね。出来た初期化部分のコードはこんな感じ。落下速度と、落下開始時の角度と、地球にぶつかる時の角度を初期パラメータとして渡してます。ゲームの座標系で言うと、0が画面正面(タイトル画面のね)、マイナスが画面左、プラスが画面右。毎フレームの更新処理はこれ。落下部分のy座標は普通通り速度から求めて(86行目)、その今のy位置から、全体のどの程度進んだか割合を求めて(88行目)、その割合に応じて、現在居るべき角度を求めて(89行目)、その角度から今のxz座標を求める(92行目)。0に固定(画面正面ね)。終了位置を-40度から+5度ずつするコード。これで実行してみると....オッケー!動いてるね!!大きな隕石も追加して耐久力も付けてみようじゃ、たまに大きな隕石も出現する様にしましょうかね。ミサイルも複数当てないと壊れない様に、耐久力も付けてみましょう!隕石の大きさのタイプとして、4種類作って、それぞれ違うHPとスコア、ついでにスケールを変えて見た目も変えました。このタイプを、隕石生成時のパラメータに含めて渡す様にしてます。発生時の振り分けはこんな感じ。発生数をカウントして、特定のカウント毎に大きな隕石を発生。(58行目〜68行目)で、大きな隕石、結構破壊するのが大変なんで、落下速度は気持ち遅くしてあげてます^^大きさとは別に、斜めに飛んでく隕石も70行目で判定して、更なるアクセントを付けてますよ。おっきいのが斜めに飛んで来たら大変だろうなぁ〜。