アクションゲームでは、ジャンプをさせたりしますが、スクラッチでジャンプする方法の説明を行っていきます。
ジャンプが出来るようになればアクションゲームを作る事も可能になるでしょう。
目次
スクラッチでジャンプをさせるのは簡単!
実は、スクラッチでジャンプさせるのはとても簡単です。
例えば、上向き矢印キーを押した時にジャンプさせたいのであれば
y座標を100ずつ変える
というパーツを使えば、スプライトは上にいきます。
プログラムを書くと以下のようになります。
実行してみると一瞬で上に行きます。
もう少し滑らかにジャンプをしたい場合は、Y座標を「100」ずつ変えるのではなく「2」ずつ変えるを50回繰り返すと滑らかに上昇するようになります。
このようなプログラムです。
ジャンプする幅やスピードは、色々と調整する事が出来ますので数値を変えて試してみるといいでしょう。
ジャンプとは上昇したら下降する!
スクラッチでジャンプする事が簡単に出来るという事がわかりました。
ジャンプというのは、ジャンプするだけでなく降りて来るまでがジャンプになります。
しかし、これも実はとても簡単です。
例えば、2秒後に降りるという場合なら、「2秒まつ」「y座標をー100ずつ変える」だけで出来ます。
このようなプログラムです。
実行してみましょう。
一瞬で上昇して少し待った後に元の場所に一瞬で戻りました。
上昇は早く下降はゆっくりなら次のようなプログラムになります。
下降するプログラムも簡単に出来ました。
スクラッチでジャンプするプログラムは簡単に作る事が出来ました。
ジャンプには上昇=下降ではないケースある!
ここまでに作ったプログラムは、ジャンプして元の場所に戻るプログラムでした。
実際のゲームの中では、元の場所に戻るようなジャンプだけではなくもっと下まで下がるケースもあったりします。
上昇した分だけ下降しないケースについて考えてみます。
どこまで下降するか?です。
床のようなものがあれば、床に触れるまで下降する、そうでなければY座標が○になるまで下降するのどちらになります。
床の代用として赤色を下におきます。
赤色に触れるまで繰り返す、「y座標をー2ずつ変える」とプログラミングする赤い床に触れるまで下降するようになります。
このようなプログラムです。
赤い色の床はこのような感じです。
赤色に触れたら以下のように行います。
赤色に触れたらの代わりに「Y座標がー110より小さい」まで繰り返すというように書けば、Y座標が少しずつ小さくなってー110より小さくなるまで下降します。
スクラッチで2段ジャンプを可能なようにする
これで完成と思ったかもしれませんが、スクラッチのジャンプは奥が深くまだ考えないといけない事があります。
ジャンプして下降するようにプログラムを作る事が出来ましたが、下降している時にもう一度上向き矢印キーを押してもジャンプしません。
Y座標を「-1」ずつ変えるを何回も繰り返して下降しているのでその間に上向き矢印キーを押してもジャンプしない事はプログラムを見ればわかります。
では、下降中にジャンプするように出来ないかというと可能です。
ここまで学んできたプログラムとは、少し仕組みが異なります。
上昇・下降用に変数「移動量」を準備します。
変数「移動量」を変える事により上昇・可能していくようになります。
ベースのプログラムは、次のようになります。
以下のような処理を行います。
1 上向き矢印キーが押された時は移動量は10にする
2 上向き矢印キーが押されない場合は、移動量は-2にする
3 赤い色に触れた時は、移動量は0にする
・これで上向き矢印キーを押せばジャンプする
・赤い色に触れるまで下降する
・下降中に上向き矢印キーを押せばジャンプする
というプログラムが出来ました。
大きくジャンプしたい場合は、上向き矢印キーを押された時の移動量を大きくすればいいし、下降のスピードをもっとゆっくりにするなら下に下がる時の移動量を-2ではなくもっと小さくすれば遅くなります。
スクラッチでジャンプさせる方法まとめ
スクラッチでジャンプする方法を紹介しました。
最初は、簡単と思っていたジャンプですが、考えていくと案外難しい事がわかりました。
少し難しいかもしれませんが、覚えておくとゲームを作る際に役にたつのでしっかりと覚えておきましょう。