アクションゲームを作るときにジャンプはかかせない動作のひとつです。
ここではシンプルに上下に動くものから変数を使って本物のジャンプのように見せるものなどを紹介していきます。
(全部スペースキーを押したらジャンプするプログラムとなっています。)
「上下に動くシンプルなジャンプ」
移動ブロックの「Y座標を○○ずつ変える」のみを使ったシンプルなジャンプの作り方です。
「Y座標100ずつ変える」をしたあとに「Y座標-100ずつ変える」をして、
ネコを上に瞬間移動をさせて、また元の位置に瞬間移動をし、ジャンプしているようにしています。
「繰り返し」を使うとよりリアルなジャンプを表現できます。
上に移動する処理と下に移動する(元の場所に戻る)処理をそれぞれ10回ずつ繰り返すしてジャンプを表現しています。
「Y座標を10ずつ変える」の手前に「〇秒待つ」を追加するとジャンプ速度を調整ができます。
「着地判定を作る」
上のプログラムだと、着地場所が元の位置にしか戻りません。
段差などがないゲームなら問題ないですが、段差があるなら着地判定を作った方がよいです。
下に移動する処理の繰り返し方法を「茶色に触れたまで繰り返す」に変えます。
このプログラムを作ると、ネコが地面に触れるまでスプライトが落ち続けるようになります。
条件部分の調べるブロック「〇色に触れる」の色を地面と同じ色にする方法はこちら。
①色の部分をクリックする
➁スポイトが描かれたボタンをクリックする
するとステージ以外の部分が暗くなります。
その状態で ③地面をクリックする
これで地面と同じ色になります。
「変数を使ったジャンプ」
変数を使うと、重力を考慮したよりリアルなジャンプを作ることが出来ます。
「Y速度」という名前の変数を作ります。この変数でネコを上下に移動させる役割があります。
「ずっと」のなかに「Y座標をY速度ずつ変える」を加えます。
これはネコを上下に動かすプログラムです。あとは「Y速度」の変数を変更するだけで動きます。
「Y速度」の値を変更するプログラムを作ります。 スペースキーが押されたら、最初に「Y速度」に20を代入します。 (このブロック下に「Y座標を20ずつ変える」を追加していますが、最初に地面に触れている状態だとジャンプしないため着けています。) 次は着地判定です。地面に触れるまで、「Y速度」をー2し続けます。 地面に触れたら着地をするので、「Y速度」を0にして、ネコの動きを止めます。 写真の通り作ってみましょう。数値を変えるとジャンプ力や重力を変更できます。