目標
2Dアクションゲームと言えば方向キーでキャラクターを動かしたりジャンプさせたりするのが基本ですよね。
今回はScratchで次のことができるコードを作っていきたいと思います。
- 左右方向キーでスプライトが左右に移動する
- 上方向キーでスプライトがジャンプする
- 左右方向キーと上方向キーでスプライトが斜めにジャンプする
完成形はこのようなイメージです。
最初にループを用意
始めに、次のようなループを用意します。左右移動とジャンプの動作はこのループの中に作っていきます。
左右の移動
次に左右の移動のコードを作っていきます。
今回はシンプルに以下のようなコードで実現することにします。
先ほど用意したループの中に次のようなコードをはめ込みます。
- もし[右向き矢印]キーが押されたら10歩動かす
- もし[左向き矢印]キーが押されたら-10歩動かす
二つ目の-10歩としているのは、こうする左向きに進むようになるためです。
これで左右の動きは完成です。
上向きのジャンプ
次に上向きのジャンプの動作を作っていきます。コードとしては次のようなものを用意します。
この動きは次のような流れになります。
- [上向き矢印]キーを押したときにまずy座標が10ずつ変わる動作が10回繰り返されます。つまり上にジャンプする動きになります。
- その後、y座標が-10ずつ変わる動作が10回繰り返されることでジャンプの頂点から下に向かって下がる動きが発生します。
このコードを先ほどの左右移動のコードの下にはめ込みます。
これで左右移動に加え、上にジャンプする動きを作ることができました。
斜めにジャンプする動き
左右移動と上ジャンプに加えて、2Dアクションゲームでよくある斜めのジャンプの動きも作っていきたいと思います。
実現方法としては左右移動の動きのコードの中に[上向き矢印]キーが押された場合にy座標とx座標を両方動かすコードを追加するように作ります。
また、今回は右斜め前と右斜め後ろのジャンプのコードをそれぞれ作成します。
右斜め前
[上向き矢印]キーが押された場合に先ほどの上ジャンプと同様y座標を10づつ上げた後に、減らすのですが、その際、x座標を10ずつ変えるコードを追加します。これによりジャンプ中に右斜め前に移動することになります。
左斜め後ろ
左斜め後ろの場合もほとんど同様ですが、こちらはジャンプ中にx座標を-10ずつ変えるコードにしておきます。
そしてこれらのコードを次の場所にはめ込みます。
- [右向き矢印]キーが押されたならの中の10歩動かすの下に、右斜め前ジャンプのコードを追加する
- [左向き矢印]キーが押されたならの中の-10歩動かすの下に、左斜め前ジャンプのコードを追加する
そしてこれがコードの完成版になります。
まとめ
今回は2Dアクションゲームの基本的な動きとしてある左右移動とジャンプ動作を作成してみました。割と簡単に作れてしまいますので是非お試しください。
その他のScratch小技はこちらでも紹介しています!
コメント