スクラッチでプラットフォームゲームの基本の動きLv2(慣性と抵抗の考えを入れる)

ゲーム作りのテクニック

今回つくる動き

難易度2 out of 5 stars

今回はスクラッチでプラットフォームゲーム(プラットフォーマー)の基本の動きの作り方を解説していきます。前回の記事では左右移動・ジャンプ・壁キックを作りましたが、今回は、横移動に慣性と抵抗の考え方を加えていきます。これにより着地時にピタッと止まらずに勢い余って少し動くような動きを作ることができます。この効果を加えることでワンランク上のプラットフォームゲームを作ることができるようになります。

まずは実際にゲームをプレイしてみてください。左右キーで横移動、シフトキーでジャンプです。

Lv1の復習

まずはLv1の復習です。Lv1では横移動・ジャンプ・壁キックができるようになりました。
コードは以下の通りです。こちらからも中身を確認できます。

スクラッチでプラットフォームゲームの基本の動きLv2(慣性と抵抗の考えを入れる)
スクラッチでプラットフォームゲームの基本の動きLv2(慣性と抵抗の考えを入れる)

このコードでプレイヤー(ボール)を動かすとジャンプ中に右矢印キーを押している間だけ右に飛んでいき、矢印キーを離すと真下に降りてピタッと止まります。しかし、実際のボールの動きには慣性と抵抗がはたらきます。

すごく簡単にいうと

慣性とは:氷のようなつるつるのところだと物体は同じ速さで動き続ける

抵抗とは:がたがたな道路の上だと、抵抗をうけてボールは途中で止まる

このことをプラットフォームゲームに反映させるために、横向きの勢いという変数を作り主に左右移動のブロックのコードを変更していきます。

横向きの勢いを追加

ではLv1のコードを変更していきます。コードは以下の通りです。横向きの勢いという変数をつくって左右の矢印キーを押している間、ぐぐっと加速し、動いているときは常に動いている向きと逆向きにに抵抗がかかるようにします。重力の横バージョンと考えれば理解しやすいかもしれません。

スクラッチでプラットフォームゲームの基本の動きLv2(慣性と抵抗の考えを入れる)
スクラッチでプラットフォームゲームの基本の動きLv2(慣性と抵抗の考えを入れる)

実際にプレイヤーを動かしてみましょう。以下のように矢印キーを押していない時にも慣性と抵抗でじわっと動けば成功です。

壁キックの動きの変更

横向きの勢いの考え方が入ってきた時に、壁キックのコードも変更していかなければなりません。

以下のように壁キックを変更します。

スクラッチでプラットフォームゲームの基本の動きLv2(慣性と抵抗の考えを入れる)

これで、壁キックで壁を登れるようになりました。実際には壁をキックしたあとにまた壁に戻ってくることはないですが、強制的に横向きの動きを入れることで壁を登れるようにしています。

以下のように動かすことができれば成功です。

全てのコード

これで全てのコードが完成です。コードは以下からも確認できます。これをベースに障害物を作るなどして、自分だけの難しいプラットフォームゲームを作ってください。

プラットフォームゲームの基本の動きLv2(慣性・抵抗の考えを入れる)