スクラッチプログラミング - プラットフォーマーのつくりかた【じゅうりょくジャンプ】
プラットフォームゲームのジャンプをくふうしてみましょう。スプライトが着地(ちゃくち)するときに、地面(じめん)にしずんでしまうことがあります。それをふせぐプログラムをつくっていきますよ。
更新日:2023年12月27日
サンプルさくひんであそんでみよう
今回(こんかい)しょうかいするのは、ジャンプしたスプライトを、地面(じめん)の上ピッタリに着地(ちゃくち)させるプログラムのつくりかたです。
スプライトがかならず地面(じめん)の上に着地(ちゃくち)することをかくにんしながら、かんたんなゲームであそんでみてください。
スプライトのそうさほうほう
- パソコン:やじるしキー
- タッチスクリーン:画面(がめん)をゆびでさわる
(プロジェクトがひょうじされないばあいは、ScratchのPyxofyページをごらんください)
»プラットフォームゲームの基本的(きほんてき)なつくりかたは、『プラットフォームゲームのつくりかた』でくわしくしょうかいしています。
「じめんにしずむ」とは?
スプライトに重力(じゅうりょく)をあたえてうごかすと、地面(じめん)より下にいってしまうことがあります。着地(ちゃくち)したときに、まるで地面(じめん)にしずんだようになってしまうのです。
「スプライトが地面(じめん)にしずむ」とは、どういうことでしょうか?下の画像(がぞう)を見てみましょう。
みどりいろの地面(じめん)の上ではなく、スプライトが地面(じめん)の中に入ったような状態(じょうたい)になっていますね。
じめんにしずむのは、なぜ?
スプライトが地面(じめん)より下へいってしまうのは、どうしてでしょう?それは、ジャンプするタイミングや、おちてくるたかさによって、スプライトがさいしょに地面(じめん)にふれるときの重力(じゅうりょく)の大きさがかわってくるからです。
- 重力(じゅうりょく)をあたえると、だんだんはやく(たくさん)おちる。
「ブロックていぎ」でかいけつ!
スプライトが地面(じめん)にしずまないようにするためにつかうブロックは、「ブロックていぎ」です。地面(じめん)の上に着地(ちゃくち)するように、ブロックていぎをつかってプログラミングしていきましょう!
じめんの上にちゃくちさせるほうほう
地面(じめん)の上に着地(ちゃくち)させるためのかんがえかたは、つぎのようになります。
- スプライトがおちてきたあと、地面(じめん)にしずんだ状態(じょうたい)
- 地面(じめん)より上にいくまで、yざひょうを(1)ずつふやす
- 地面(じめん)より上までいったら、yざひょうを(1)へらす
しずんだ状態(じょうたい)のスプライトを地面(じめん)の上にもどすことで、地面(じめん)ピッタリに着地(ちゃくち)したように見せるのです。ブロックは、このようにつなげてください。
「ちゃくち」というブロックをつくる
上でつくったうごきを、ブロックていぎでまとめます。「ちゃくち」というなまえで、ブロックをつくりましょう。
がめんをさいびょうがせずにじっこうする
ここで、だいじなポイントがあります!それは、「がめんをさいびょうがせずにじっこうする」をえらぶ、ということです。これをえらぶことで、yざひょうをふやしたり、へらしたりするうごきを、一瞬(いっしゅん)でおわらせることができます。
もしこれをえらばないと、しずんだ状態(じょうたい)のスプライトを地面(じめん)の上にもどすようすが見えてしまいます。そうすると、地面(じめん)ピッタリに着地(ちゃくち)しているふうには見えませんね。
ブロックをていぎする
「ちゃくち」をていぎしましょう。しずんだ状態(じょうたい)のスプライトを地面(じめん)の上にもどすためのブロックをつなげます。
プログラムかんせい
重力(じゅうりょく)をあらわすブロックの下に、「ちゃくち」を追加(ついか)しましょう。
スプライトが地面(じめん)の上にピッタリ着地(ちゃくち)するプログラムのかんせいです!
「きょうからはじめるスクラッチプログラミング入門」by Pyxofy
Pyxofy から Scratch の基本をまとめた電子書籍を出版しました。
Apple Books・Kindle でご購入ください。
まとめ
今回(こんかい)は、スプライトが重力(じゅうりょく)でおちてきたときに、地面(じめん)にしずまないようにするプログラムをしょうかいしました。
地面(じめん)より下にいってしまったスプライトをもどすために、ブロックていぎで「がめんをさいびょうがせずにじっこうする」ところがポイントでしたね。
最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!