スクラッチプログラミング - プラットフォーマーのつくりかた【上へすすむ】
上へすすむとステージがかわるプラットフォームゲームをつくりましょう。スプライトを左右にうごかしたり、障害物(しょうがいぶつ)にぶつかってジャンプがとまるようにするプログラムを、ブロックていぎをつかってつくります。
更新日:2023年12月27日
サンプルさくひんであそんでみよう
今回(こんかい)しょうかいするのは、上へすすむプラットフォーマーです。地上(ちじょう)へ出られるように、上をめざしてすすみましょう!
スプライトのそうさほうほう
- パソコン:やじるしキー
- タッチスクリーン:画面(がめん)をゆびでさわる
(みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。)
このきじをよむとわかること
- 障害物(しょうがいぶつ)にぶつかったときに、ジャンプをとめるほうほう
- スプライトを左右にうごかすほうほう
- スプライトがジャンプしたときに、ステージをきりかえるほうほう
上へすすむプラットフォーマーをつくろう
ジャンプしながらステージの上のほうへすすんでいくゲームをつくります。ここではかんたんに、ステージをふたつだけ用意(ようい)して説明(せつめい)していきますね。スプライトのたて移動(いどう)、よこ移動(いどう)、ステージのきりかえをプログラミングしましょう。

ジャンプさせる
まずは、スプライトを上へうごかすためのジャンプです。スプライトに重力(じゅうりょく)をあたえたリアルなジャンプのつくりかたは、 『プラットフォームゲームのつくりかた』、『プラットフォーマーのつくりかた【じゅうりょくジャンプ】』をさんこうにしてください。
スプライトをジャンプさせるプログラムは、つぎのようになります。

しょうがいぶつをとおりぬける?!
スプライトの上に障害物(しょうがいぶつ)があるところで、ジャンプさせてみましょう。すると、上にある障害物(しょうがいぶつ)をスプライトがとおりぬけてしまいます。

障害物(しょうがいぶつ)にぶつかったときにジャンプがとまるようにするには、どうすればいいでしょうか?

「ブロックていぎ」でかいけつ!
ジャンプをとめるためにつかうブロックは、 「ブロックていぎ」です。障害物(しょうがいぶつ)にぶつかるように、ブロックていぎをつかってプログラミングしていきましょう!
ジャンプをとめるほうほう
ジャンプをとちゅうでとめるためのかんがえかたは、つぎのとおりです。ここでは重力(じゅうりょく)やジャンプなど、スプライトのたて方向(ほうこう)のうごきを「yいどう」という 変数(へんすう) であらわしています。
- スプライトがジャンプしたあと、障害物(しょうがいぶつ)のいろにふれたなら

- 「yいどう」をゼロにして、うごかないようにする

- 障害物(しょうがいぶつ)の下にいくまで、yざひょうをすこしずつへらす

障害物(しょうがいぶつ)の下までうごかしたスプライトは、重力(じゅうりょく)で地面(じめん)へおちます。

ブロックは、このようにつなげてください。

「上にぶつかる」というブロックをつくる
上でつくったうごきを、ブロックていぎでまとめます。「上にぶつかる」というなまえで、ブロックをつくりましょう。「がめんをさいびょうがせずにじっこうする」にチェックをいれるのを、わすれずに!

がめんをさいびょうがせずにじっこうする理由(りゆう)は、障害物(しょうがいぶつ)をとおりぬけたスプライトが下へうごく様子(ようす)を見せないようにするためです。

こうすることで、スプライトが障害物(しょうがいぶつ)をとおりぬけずにぶつかってジャンプがとまる様子(ようす)をあらわすことができます。この方法(ほうほう)は、ジャンプしたスプライトを地面(じめん)ピッタリに着地(ちゃくち)させることができる 「ちゃくち」ブロック をつくったときとおなじですね。
ブロックをていぎする
「上にぶつかる」をていぎしましょう。ジャンプをとちゅうでとめるためのブロックをつなげます。

上にぶつかって、ジャンプがとまる
「上にぶつかる」ブロックを、ジャンプさせるブロックの下に追加(ついか)してください。

上にある障害物(しょうがいぶつ)にぶつかって、ジャンプがとまるようになりました!
左右にうごかす
スプライトを左右にうごかせるようにしましょう。

左右にうごかしたとき、かべにぶつかるようにしましょう。
- かべのいろにふれたなら、反対方向(はんたいほうこう)にうごかす

「ブロックていぎ」をつかう
わかりやすいように、ブロックていぎでまとめましょう。
- 「左右そうさ」というブロックをつくって、ていぎする

- 「左右そうさ」ブロックを追加(ついか)する

やじるしキーでスプライトを左右にそうさできるようになりました!
つぎのステージへすすむ
スプライトを上へジャンプさせて、つぎのステージへすすむようにしましょう。

- スプライトがステージの上のほうにあるなら

- つぎのはいけいにする

- スプライトの位置(いち)を、ステージの下がわにする

「ブロックていぎ」をつかう
わかりやすいように、ブロックていぎでまとめましょう。
- 「つぎのステージ」というブロックをつくって、ていぎする

- 「つぎのステージ」ブロックを追加(ついか)する

スプライトがとびあがって、つぎのステージへすすむようになりました!
プログラムかんせい
スプライトのたて移動(いどう)、よこ移動(いどう)、ステージのきりかえをプログラミングしたら、上へすすむプラットフォーマーのかんせいです!

たてにうごかすプログラム

よこにうごかすプログラム

ステージをきりかえるプログラム


「きょうからはじめるスクラッチプログラミング入門」by Pyxofy
Pyxofy から Scratch の基本をまとめた電子書籍を出版しました。
Apple Books・Kindle でご購入ください。
まとめ
今回(こんかい)は、上へすすむプラットフォーマーのつくりかたをしょうかいしました。
障害物(しょうがいぶつ)にぶつかってジャンプをとめるときは、ブロックていぎで「がめんをさいびょうがせずにじっこうする」ところがポイントでしたね。左右のうごきやステージのきりかえも、ブロックていぎでまとめるとプログラムがわかりやすくなるのでオススメです!
最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!