Scratchでジャンプと着地が上手くできるようになったら、今度はジャンプ中に横移動させたくなりますよね?
だけど最初は上手くいかないことがあります。スクリプトを何度見直してもあってるはずなのに、なんて思った経験はありませんか?
この記事を読んでいただくと、スプライトをジャンプさせてる間に横方向に移動させるためのスクリプトの作り方と上手くいかない場合の失敗しやすいポイントが分かります。
スクリプトの作り方
完成した動き
ジャンプ中も左右移動ができます。なめらかな動きです。
完成したスクリプト
ネコのスプライトのスクリプト全体です。
同じスクリプトブロックのかたまりが3か所も出てくるので、定義ブロックを使って効率化しています。
スクリプトの説明
事前準備:定義ブロックで共通部品を作っておく
今回は、3か所で全く同じスクリプトのかたまりを使っているので、定義ブロックを使って共通の部品を作っておきます。
ポイント①:ジャンプしてないときの左右移動
スプライトが地面に着地している(ジャンプしていない)ときに左右移動ができる部分をつくります。
ポイント②:ジャンプ「上昇中」の左右移動
スプライトがジャンプして上に上がっている間に左右移動ができる部分をつくります。
ポイント③:ジャンプ「下降中」の左右移動
スプライトがジャンプして上昇した後、下に下がってくる間に左右移動ができる部分をつくります。
これら3つのポイントを押さえれば、ジャンプしながらの横移動ができるよ!
失敗しやすいポイント
スクリプトを組むにあたっていくつか注意点があります。
以下の作り方ではスムーズな動きにはなりませんので当てはまってないか確認しましょう。
失敗パターン①:「○○キーが押されたとき」ブロックを使うやり方
このように作ってしまうと、左右の矢印キーが押されたときの動きとしては、キーボードのキーが1回押されたら1回動くという動作を繰り返す(キーが1度押されたらスクリプトが1回動く)ので、反応が遅くなるのとガタガタ動いているように見えてしまいます。
失敗パターン②:ジャンプ中の横移動を忘れている
惜しい作り方ですがこのような形で終わってしまうと、地面に着地している(ジャンプしていない)ときは左右への移動ができますが、ジャンプしている間は左右の矢印キーを押しても無反応のままになってしまいます。
まとめ
さいごに、ジャンプしながら横に移動するスクリプトの作り方のポイントについてまとめます。
- ポイント①:ジャンプしてないときの左右移動
- ポイント②:ジャンプ「上昇中」の左右移動
- ポイント③:ジャンプ「下降中」の左右移動
この記事以外にもジャンプ関連の複数の記事を書いています。
たとえばこちらのような記事もありますので良ければご覧ください。↓↓↓
どうでしたか?上手くできたでしょうか?
他にも役に立つTips(ティップス)記事をたくさん書いてますので、ぜひ見てみてください。(記事のタイトルに「Tips」と書いていたり「Tips」タグを貼ってあります)