スクラッチプログラミング - プラットフォーマーのつくりかた【じゅうりょくジャンプ】
プラットフォームゲームのジャンプをくふうしてみましょう。スプライトが着地(ちゃくち)するときに、地面(じめん)にしずんでしまうことがあります。それをふせぐプログラムをつくっていきますよ。
更新日:2023年12月27日
サンプルさくひんであそんでみよう
今回(こんかい)しょうかいするのは、ジャンプしたスプライトを、地面(じめん)の上ピッタリに着地(ちゃくち)させるプログラムのつくりかたです。
スプライトがかならず地面(じめん)の上に着地(ちゃくち)することをかくにんしながら、かんたんなゲームであそんでみてください。
スプライトのそうさほうほう
- パソコン:やじるしキー
- タッチスクリーン:画面(がめん)をゆびでさわる
(プロジェクトがひょうじされないばあいは、ScratchのPyxofyページをごらんください)
»プラットフォームゲームの基本的(きほんてき)なつくりかたは、『プラットフォームゲームのつくりかた』でくわしくしょうかいしています。
「じめんにしずむ」とは?
スプライトに重力(じゅうりょく)をあたえてうごかすと、地面(じめん)より下にいってしまうことがあります。着地(ちゃくち)したときに、まるで地面(じめん)にしずんだようになってしまうのです。
「スプライトが地面(じめん)にしずむ」とは、どういうことでしょうか?下の画像(がぞう)を見てみましょう。
![2022-02-01-スプライトが地面の上ではなく地面の中に沈んで着地している様子 2022-02-01-スプライトが地面の上ではなく地面の中に沈んで着地している様子](https://www.pyxofy.com/content/images/2022/02/2022-02-01-scratch-programming-jumping-and.png)
みどりいろの地面(じめん)の上ではなく、スプライトが地面(じめん)の中に入ったような状態(じょうたい)になっていますね。
じめんにしずむのは、なぜ?
スプライトが地面(じめん)より下へいってしまうのは、どうしてでしょう?それは、ジャンプするタイミングや、おちてくるたかさによって、スプライトがさいしょに地面(じめん)にふれるときの重力(じゅうりょく)の大きさがかわってくるからです。
- 重力(じゅうりょく)をあたえると、だんだんはやく(たくさん)おちる。
![2022-02-02-重力がだんだん大きくなる様子 2022-02-02-重力がだんだん大きくなる様子](https://www.pyxofy.com/content/images/2022/02/2022-02-02-scratch-programming-jumping-and.png)
「ブロックていぎ」でかいけつ!
スプライトが地面(じめん)にしずまないようにするためにつかうブロックは、「ブロックていぎ」です。地面(じめん)の上に着地(ちゃくち)するように、ブロックていぎをつかってプログラミングしていきましょう!
じめんの上にちゃくちさせるほうほう
地面(じめん)の上に着地(ちゃくち)させるためのかんがえかたは、つぎのようになります。
- スプライトがおちてきたあと、地面(じめん)にしずんだ状態(じょうたい)
![2022-02-03-スプライトが地面に沈んだ状態 2022-02-03-スプライトが地面に沈んだ状態](https://www.pyxofy.com/content/images/2022/02/2022-02-03-scratch-programming-jumping-and.png)
- 地面(じめん)より上にいくまで、yざひょうを(1)ずつふやす
![2022-02-04-スプライトが地面から少し浮いている状態 2022-02-04-スプライトが地面から少し浮いている状態](https://www.pyxofy.com/content/images/2022/02/2022-02-04-scratch-programming-jumping-and.png)
- 地面(じめん)より上までいったら、yざひょうを(1)へらす
![2022-02-05-スプライトが地面の上に着地している状態 2022-02-05-スプライトが地面の上に着地している状態](https://www.pyxofy.com/content/images/2022/02/2022-02-05-scratch-programming-jumping-and.png)
しずんだ状態(じょうたい)のスプライトを地面(じめん)の上にもどすことで、地面(じめん)ピッタリに着地(ちゃくち)したように見せるのです。ブロックは、このようにつなげてください。
![2022-02-06-スプライトを地面の上に戻すためのコード 2022-02-06-スプライトを地面の上に戻すためのコード](https://www.pyxofy.com/content/images/2022/02/2022-02-06-scratch-programming-jumping-and.png)
「ちゃくち」というブロックをつくる
上でつくったうごきを、ブロックていぎでまとめます。「ちゃくち」というなまえで、ブロックをつくりましょう。
![2022-02-07-新しいブロックをつくる画面 2022-02-07-新しいブロックをつくる画面](https://www.pyxofy.com/content/images/2022/02/2022-02-07-scratch-programming-jumping-and.png)
がめんをさいびょうがせずにじっこうする
ここで、だいじなポイントがあります!それは、「がめんをさいびょうがせずにじっこうする」をえらぶ、ということです。これをえらぶことで、yざひょうをふやしたり、へらしたりするうごきを、一瞬(いっしゅん)でおわらせることができます。
![2022-02-08-「画面を再描画せずに実行する」にチェックが入っている 2022-02-08-「画面を再描画せずに実行する」にチェックが入っている](https://www.pyxofy.com/content/images/2022/02/2022-02-08-scratch-programming-jumping-and.png)
もしこれをえらばないと、しずんだ状態(じょうたい)のスプライトを地面(じめん)の上にもどすようすが見えてしまいます。そうすると、地面(じめん)ピッタリに着地(ちゃくち)しているふうには見えませんね。
ブロックをていぎする
「ちゃくち」をていぎしましょう。しずんだ状態(じょうたい)のスプライトを地面(じめん)の上にもどすためのブロックをつなげます。
![2022-02-09-ブロックを定義する 2022-02-09-ブロックを定義する](https://www.pyxofy.com/content/images/2022/02/2022-02-09-scratch-programming-jumping-and.png)
プログラムかんせい
重力(じゅうりょく)をあらわすブロックの下に、「ちゃくち」を追加(ついか)しましょう。
![2022-02-10-「ちゃくち」ブロックを追加する](https://www.pyxofy.com/content/images/2022/02/2022-02-10-scratch-programming-jumping-and-gravity.png)
スプライトが地面(じめん)の上にピッタリ着地(ちゃくち)するプログラムのかんせいです!
![2022-02-11-スプライトを動かしたときに地面に沈まずに着地させることのできるプログラム](https://www.pyxofy.com/content/images/2022/02/2022-02-11-scratch-programming-jumping-and-gravity-1.png)
![](https://www.pyxofy.com/content/images/2024/07/cover-page-320-4.png)
「きょうからはじめるスクラッチプログラミング入門」by Pyxofy
Pyxofy から Scratch の基本をまとめた電子書籍を出版しました。
Apple Books・Kindle でご購入ください。
まとめ
今回(こんかい)は、スプライトが重力(じゅうりょく)でおちてきたときに、地面(じめん)にしずまないようにするプログラムをしょうかいしました。
地面(じめん)より下にいってしまったスプライトをもどすために、ブロックていぎで「がめんをさいびょうがせずにじっこうする」ところがポイントでしたね。
最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!