日曜プログラマーのUnity独学開発ブログ日曜プログラマーのUnity独学開発ブログ日曜プログラマーが独学でUnityでのゲーム開発にチャレンジ。学んだことや気づいたことをつづるブログです。ジャンプアクションゲームtowofu前回、Unityの基本的な操作をおさらいしたので、いよいよゲームっぽい動作、二段ジャンプの実装をしてみます。Player版プロジェクトは前回のものをそのまま流用します。Script]を実行します。Control”に変更しておきます。これを<Project>ウィンドウから<Hierarchy>ウィンドウのPlayerの上にドラッグ&ドロップします。Control(Script)が追加されているのを確認します。これでスクリプトを書く準備が整いました。ジャンプするコードを書く<Inspector>でPlayerControlをダブルクリックすると、Unityのスクリプトエディタが起動します。初期状態では下記のようになっているはずです。}}Unityはゲームフレーム毎に各オブジェクト(ここではPlayerControl)のUpdate関数を呼び出すので、Updateの中に任意のコードを追加することでPlayerを操ることができます。Update関数を下記のように書き換えます。}}再生ボタンを押してから、ゲーム画面でマウスをクリックするとジャンプできるようになりました。Playerが傾いてしまう問題の修正ジャンプボタンを繰り返していると、Playerが傾いてきてしまう問題があることに気づきます。これを修正するために移動・回転をロックします。<Inspector>RigidbodyのConstraintsから下記にチェックをつけます。zこれでチェックを付けた軸の運動が無視されるようになりました。用意してジャンプの回数を管理します。コードは下記のようになりました。}}ちなみにここでは、残りジャンプ回数で管理していますが、numJumpsなどジャンプした回数で管理してもいいと思います。接地する度にジャンプ回数をリセットするさて、まだ問題が残っています。今度は2回しかジャンプできなくなってしまたったので、接地する度にジャンプ回数をリセットするようにします。Tag...]を実行します。0に”Floor”と入力します。このタグを接地判定(当たり判定)の際の識別に使うことになります。つづいてコードを修正して、下記の関数を追加します。}}OnCollisionEnter関数はスクリプトに関連付けてあるオブジェクト(ここではPlayer)が他の物体と衝突すると呼ばれます。0にセットして今回の実装は終了です。コメントをキャンセルメールアドレスが公開されることはありません。