スクラッチプログラミング - プラットフォーマーのつくりかた【じゅうりょくジャンプ】

プラットフォームゲームのジャンプをくふうしてみましょう。スプライトが着地(ちゃくち)するときに、地面(じめん)にしずんでしまうことがあります。それをふせぐプログラムをつくっていきますよ。

スクラッチプログラミング - プラットフォーマーのつくりかた【じゅうりょくジャンプ】
Photo by zengxiao lin / Unsplash

更新日:2023年12月27日

サンプルさくひんであそんでみよう

今回(こんかい)しょうかいするのは、ジャンプしたスプライトを、地面(じめん)の上ピッタリに着地(ちゃくち)させるプログラムのつくりかたです。

スプライトがかならず地面(じめん)の上に着地(ちゃくち)することをかくにんしながら、かんたんなゲームであそんでみてください。

スプライトのそうさほうほう

  • パソコン:やじるしキー
  • タッチスクリーン:画面(がめん)をゆびでさわる

(プロジェクトがひょうじされないばあいは、ScratchのPyxofyページをごらんください)

»プラットフォームゲームの基本的(きほんてき)なつくりかたは、『プラットフォームゲームのつくりかた』でくわしくしょうかいしています。

Scratch (スクラッチ) - プラットフォームゲームのつくりかた
ジャンプで障害物(しょうがいぶつ)をよけながらつぎのステージへすすんでいく、プラットフォーマーのつくりかたをしょうかいします。スプライトにじゅうりょくをあたえて、よりリアルなうごきを表現(ひょうげん)してみましょう。

「じめんにしずむ」とは?

スプライトに重力(じゅうりょく)をあたえてうごかすと、地面(じめん)より下にいってしまうことがあります。着地(ちゃくち)したときに、まるで地面(じめん)にしずんだようになってしまうのです。

「スプライトが地面(じめん)にしずむ」とは、どういうことでしょうか?下の画像(がぞう)を見てみましょう。

2022-02-01-スプライトが地面の上ではなく地面の中に沈んで着地している様子

みどりいろの地面(じめん)の上ではなく、スプライトが地面(じめん)の中に入ったような状態(じょうたい)になっていますね。

じめんにしずむのは、なぜ?

スプライトが地面(じめん)より下へいってしまうのは、どうしてでしょう?それは、ジャンプするタイミングや、おちてくるたかさによって、スプライトがさいしょに地面(じめん)にふれるときの重力(じゅうりょく)の大きさがかわってくるからです。

  • 重力(じゅうりょく)をあたえると、だんだんはやく(たくさん)おちる。
2022-02-02-重力がだんだん大きくなる様子

「ブロックていぎ」でかいけつ!

スプライトが地面(じめん)にしずまないようにするためにつかうブロックは、ブロックていぎです。地面(じめん)の上に着地(ちゃくち)するように、ブロックていぎをつかってプログラミングしていきましょう!

Scratch (スクラッチ) -「ブロックていぎ」とは?じぶんでつくるブロック
プログラミングにつかうブロックを、あたらしくつくってみましょう。Scratchにはたくさんのブロックが用意(ようい)されていますね。でもそれだけでなく、じぶんでブロックをつくることもできますよ。

じめんの上にちゃくちさせるほうほう

地面(じめん)の上に着地(ちゃくち)させるためのかんがえかたは、つぎのようになります。

  • スプライトがおちてきたあと、地面(じめん)にしずんだ状態(じょうたい)
2022-02-03-スプライトが地面に沈んだ状態
  • 地面(じめん)より上にいくまで、yざひょうを(1)ずつふやす
2022-02-04-スプライトが地面から少し浮いている状態
  • 地面(じめん)より上までいったら、yざひょうを(1)へらす
2022-02-05-スプライトが地面の上に着地している状態

しずんだ状態(じょうたい)のスプライトを地面(じめん)の上にもどすことで、地面(じめん)ピッタリに着地(ちゃくち)したように見せるのです。ブロックは、このようにつなげてください。

2022-02-06-スプライトを地面の上に戻すためのコード

「ちゃくち」というブロックをつくる

上でつくったうごきを、ブロックていぎでまとめます。「ちゃくち」というなまえで、ブロックをつくりましょう。

2022-02-07-新しいブロックをつくる画面

がめんをさいびょうがせずにじっこうする

ここで、だいじなポイントがあります!それは、「がめんをさいびょうがせずにじっこうする」をえらぶ、ということです。これをえらぶことで、yざひょうをふやしたり、へらしたりするうごきを、一瞬(いっしゅん)でおわらせることができます。

2022-02-08-「画面を再描画せずに実行する」にチェックが入っている

もしこれをえらばないと、しずんだ状態(じょうたい)のスプライトを地面(じめん)の上にもどすようすが見えてしまいます。そうすると、地面(じめん)ピッタリに着地(ちゃくち)しているふうには見えませんね。

ブロックをていぎする

ちゃくち」をていぎしましょう。しずんだ状態(じょうたい)のスプライトを地面(じめん)の上にもどすためのブロックをつなげます。

2022-02-09-ブロックを定義する

プログラムかんせい

重力(じゅうりょく)をあらわすブロックの下に、「ちゃくち」を追加(ついか)しましょう。

2022-02-10-「ちゃくち」ブロックを追加する

スプライトが地面(じめん)の上にピッタリ着地(ちゃくち)するプログラムのかんせいです!

2022-02-11-スプライトを動かしたときに地面に沈まずに着地させることのできるプログラム

まとめ

今回(こんかい)は、スプライトが重力(じゅうりょく)でおちてきたときに、地面(じめん)にしずまないようにするプログラムをしょうかいしました。

地面(じめん)より下にいってしまったスプライトをもどすために、ブロックていぎで「がめんをさいびょうがせずにじっこうする」ところがポイントでしたね。

最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!

かんれんきじ

スクラッチプログラミング - プラットフォーマーのつくりかた【上へすすむ】
上へすすむとステージがかわるプラットフォームゲームをつくりましょう。スプライトを左右にうごかしたり、障害物(しょうがいぶつ)にぶつかってジャンプがとまるようにするプログラムを、ブロックていぎをつかってつくります。
スクラッチプログラミング - やじるしキーでうごかすよこスクロール
アクションゲーム(プラットフォーマー)などにつかわれる、よこスクロールする背景(はいけい)のつくりかたをしょうかいします。プログラムのポイントとなるブロックは、「クローン」「変数(へんすう)」「演算(えんざん)」です。
Start Here - Scratch (スクラッチ)
Scratch (スクラッチ)記事(きじ)のレベル別一覧です。初級、中級、上級、拡張機能にわけてまとめました。