スクラッチプログラミング - プラットフォーマーのつくりかた【上へすすむ】
上へすすむとステージがかわるプラットフォームゲームをつくりましょう。スプライトを左右にうごかしたり、障害物(しょうがいぶつ)にぶつかってジャンプがとまるようにするプログラムを、ブロックていぎをつかってつくります。
更新日:2023年12月27日
サンプルさくひんであそんでみよう
今回(こんかい)しょうかいするのは、上へすすむプラットフォーマーです。地上(ちじょう)へ出られるように、上をめざしてすすみましょう!
スプライトのそうさほうほう
- パソコン:やじるしキー
- タッチスクリーン:画面(がめん)をゆびでさわる
(みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。)
このきじをよむとわかること
- 障害物(しょうがいぶつ)にぶつかったときに、ジャンプをとめるほうほう
- スプライトを左右にうごかすほうほう
- スプライトがジャンプしたときに、ステージをきりかえるほうほう
上へすすむプラットフォーマーをつくろう
ジャンプしながらステージの上のほうへすすんでいくゲームをつくります。ここではかんたんに、ステージをふたつだけ用意(ようい)して説明(せつめい)していきますね。スプライトのたて移動(いどう)、よこ移動(いどう)、ステージのきりかえをプログラミングしましょう。
![2022-04-01-上へ移動するプラットフォーマーゲームのイメージ画像 2022-04-01-上へ移動するプラットフォーマーゲームのイメージ画像](https://www.pyxofy.com/content/images/2022/02/2022-04-01-scratch-programming-vertical.png)
ジャンプさせる
まずは、スプライトを上へうごかすためのジャンプです。スプライトに重力(じゅうりょく)をあたえたリアルなジャンプのつくりかたは、 『プラットフォームゲームのつくりかた』、『プラットフォーマーのつくりかた【じゅうりょくジャンプ】』をさんこうにしてください。
スプライトをジャンプさせるプログラムは、つぎのようになります。
![2022-04-02-スプライトに重力を与えてジャンプさせるプログラム 2022-04-02-スプライトに重力を与えてジャンプさせるプログラム](https://www.pyxofy.com/content/images/2022/02/2022-04-02-scratch-programming-vertical.png)
しょうがいぶつをとおりぬける?!
スプライトの上に障害物(しょうがいぶつ)があるところで、ジャンプさせてみましょう。すると、上にある障害物(しょうがいぶつ)をスプライトがとおりぬけてしまいます。
![2022-04-03-スプライトがジャンプして障害物を通り抜けている様子 2022-04-03-スプライトがジャンプして障害物を通り抜けている様子](https://www.pyxofy.com/content/images/2022/02/2022-04-03-scratch-programming-vertical.png)
障害物(しょうがいぶつ)にぶつかったときにジャンプがとまるようにするには、どうすればいいでしょうか?
![2022-04-04-スプライトがジャンプして障害物にぶつかっている様子 2022-04-04-スプライトがジャンプして障害物にぶつかっている様子](https://www.pyxofy.com/content/images/2022/02/2022-04-04-scratch-programming-vertical.png)
「ブロックていぎ」でかいけつ!
ジャンプをとめるためにつかうブロックは、 「ブロックていぎ」です。障害物(しょうがいぶつ)にぶつかるように、ブロックていぎをつかってプログラミングしていきましょう!
ジャンプをとめるほうほう
ジャンプをとちゅうでとめるためのかんがえかたは、つぎのとおりです。ここでは重力(じゅうりょく)やジャンプなど、スプライトのたて方向(ほうこう)のうごきを「yいどう」という 変数(へんすう) であらわしています。
- スプライトがジャンプしたあと、障害物(しょうがいぶつ)のいろにふれたなら
![2022-04-05-スプライトがジャンプして障害物に触れている様子 2022-04-05-スプライトがジャンプして障害物に触れている様子](https://www.pyxofy.com/content/images/2022/02/2022-04-05-scratch-programming-vertical.png)
- 「yいどう」をゼロにして、うごかないようにする
![2022-04-06-スプライトが障害物に触れた状態で上下移動しない様子 2022-04-06-スプライトが障害物に触れた状態で上下移動しない様子](https://www.pyxofy.com/content/images/2022/02/2022-04-06-scratch-programming-vertical.png)
- 障害物(しょうがいぶつ)の下にいくまで、yざひょうをすこしずつへらす
![2022-04-07-スプライトが障害物の下まで移動した様子 2022-04-07-スプライトが障害物の下まで移動した様子](https://www.pyxofy.com/content/images/2022/02/2022-04-07-scratch-programming-vertical.png)
障害物(しょうがいぶつ)の下までうごかしたスプライトは、重力(じゅうりょく)で地面(じめん)へおちます。
![2022-04-08-障害物に触れなくなったスプライトが地面に落ちる様子 2022-04-08-障害物に触れなくなったスプライトが地面に落ちる様子](https://www.pyxofy.com/content/images/2022/02/2022-04-08-scratch-programming-vertical.png)
ブロックは、このようにつなげてください。
![2022-04-09-スプライトが障害物にぶつかるようにするためのコード 2022-04-09-スプライトが障害物にぶつかるようにするためのコード](https://www.pyxofy.com/content/images/2022/02/2022-04-09-scratch-programming-vertical.png)
「上にぶつかる」というブロックをつくる
上でつくったうごきを、ブロックていぎでまとめます。「上にぶつかる」というなまえで、ブロックをつくりましょう。「がめんをさいびょうがせずにじっこうする」にチェックをいれるのを、わすれずに!
![2022-04-10-ブロックを作る画面 2022-04-10-ブロックを作る画面](https://www.pyxofy.com/content/images/2022/02/2022-04-10-scratch-programming-vertical.png)
がめんをさいびょうがせずにじっこうする理由(りゆう)は、障害物(しょうがいぶつ)をとおりぬけたスプライトが下へうごく様子(ようす)を見せないようにするためです。
![2022-04-11-画面を再描画せずに実行する動き 2022-04-11-画面を再描画せずに実行する動き](https://www.pyxofy.com/content/images/2022/02/2022-04-11-scratch-programming-vertical.png)
こうすることで、スプライトが障害物(しょうがいぶつ)をとおりぬけずにぶつかってジャンプがとまる様子(ようす)をあらわすことができます。この方法(ほうほう)は、ジャンプしたスプライトを地面(じめん)ピッタリに着地(ちゃくち)させることができる 「ちゃくち」ブロック をつくったときとおなじですね。
ブロックをていぎする
「上にぶつかる」をていぎしましょう。ジャンプをとちゅうでとめるためのブロックをつなげます。
![2022-04-12-ブロックを定義する 2022-04-12-ブロックを定義する](https://www.pyxofy.com/content/images/2022/02/2022-04-12-scratch-programming-vertical.png)
上にぶつかって、ジャンプがとまる
「上にぶつかる」ブロックを、ジャンプさせるブロックの下に追加(ついか)してください。
![2022-04-13-定義したブロックを追加する 2022-04-13-定義したブロックを追加する](https://www.pyxofy.com/content/images/2022/02/2022-04-13-scratch-programming-vertical.png)
上にある障害物(しょうがいぶつ)にぶつかって、ジャンプがとまるようになりました!
左右にうごかす
スプライトを左右にうごかせるようにしましょう。
![2022-04-14-やじるしキーで動かすためのコード 2022-04-14-やじるしキーで動かすためのコード](https://www.pyxofy.com/content/images/2022/02/2022-04-14-scratch-programming-vertical.png)
左右にうごかしたとき、かべにぶつかるようにしましょう。
- かべのいろにふれたなら、反対方向(はんたいほうこう)にうごかす
![2022-04-15-壁の色で当たり判定をする 2022-04-15-壁の色で当たり判定をする](https://www.pyxofy.com/content/images/2022/02/2022-04-15-scratch-programming-vertical.png)
「ブロックていぎ」をつかう
わかりやすいように、ブロックていぎでまとめましょう。
- 「左右そうさ」というブロックをつくって、ていぎする
![2022-04-16-ブロックを定義する 2022-04-16-ブロックを定義する](https://www.pyxofy.com/content/images/2022/02/2022-04-16-scratch-programming-vertical.png)
- 「左右そうさ」ブロックを追加(ついか)する
![2022-04-17-定義したブロックを追加する 2022-04-17-定義したブロックを追加する](https://www.pyxofy.com/content/images/2022/02/2022-04-17-scratch-programming-vertical.png)
やじるしキーでスプライトを左右にそうさできるようになりました!
つぎのステージへすすむ
スプライトを上へジャンプさせて、つぎのステージへすすむようにしましょう。
![2022-04-18-ステージの左上から次のステージへ進む 2022-04-18-ステージの左上から次のステージへ進む](https://www.pyxofy.com/content/images/2022/02/2022-04-18-scratch-programming-vertical.png)
- スプライトがステージの上のほうにあるなら
![2022-04-19-スプライトがステージの上部にある様子 2022-04-19-スプライトがステージの上部にある様子](https://www.pyxofy.com/content/images/2022/02/2022-04-19-scratch-programming-vertical.png)
- つぎのはいけいにする
![2022-04-20-背景を切り替える 2022-04-20-背景を切り替える](https://www.pyxofy.com/content/images/2022/02/2022-04-20-scratch-programming-vertical.png)
- スプライトの位置(いち)を、ステージの下がわにする
![2022-04-21-スプライトの位置をステージの下の方にする 2022-04-21-スプライトの位置をステージの下の方にする](https://www.pyxofy.com/content/images/2022/02/2022-04-21-scratch-programming-vertical.png)
「ブロックていぎ」をつかう
わかりやすいように、ブロックていぎでまとめましょう。
- 「つぎのステージ」というブロックをつくって、ていぎする
![2022-04-22-ブロックを定義する 2022-04-22-ブロックを定義する](https://www.pyxofy.com/content/images/2022/02/2022-04-22-scratch-programming-vertical.png)
- 「つぎのステージ」ブロックを追加(ついか)する
![2022-04-23-定義したブロックを追加する 2022-04-23-定義したブロックを追加する](https://www.pyxofy.com/content/images/2022/02/2022-04-23-scratch-programming-vertical.png)
スプライトがとびあがって、つぎのステージへすすむようになりました!
プログラムかんせい
スプライトのたて移動(いどう)、よこ移動(いどう)、ステージのきりかえをプログラミングしたら、上へすすむプラットフォーマーのかんせいです!
![2022-04-24-縦移動のプラットフォーマープログラム 2022-04-24-縦移動のプラットフォーマープログラム](https://www.pyxofy.com/content/images/2022/02/2022-04-24-scratch-programming-vertical.png)
たてにうごかすプログラム
![2022-04-25-スプライトを縦に動かすためのコード 2022-04-25-スプライトを縦に動かすためのコード](https://www.pyxofy.com/content/images/2022/02/2022-04-25-scratch-programming-vertical.png)
よこにうごかすプログラム
![2022-04-26-スプライトを左右に動かすためのコード 2022-04-26-スプライトを左右に動かすためのコード](https://www.pyxofy.com/content/images/2022/02/2022-04-26-scratch-programming-vertical.png)
ステージをきりかえるプログラム
![2022-04-27-ステージを切り替えるためのコード 2022-04-27-ステージを切り替えるためのコード](https://www.pyxofy.com/content/images/2022/02/2022-04-27-scratch-programming-vertical.png)
![](https://www.pyxofy.com/content/images/2024/07/cover-page-320-4.png)
「きょうからはじめるスクラッチプログラミング入門」by Pyxofy
Pyxofy から Scratch の基本をまとめた電子書籍を出版しました。
Apple Books・Kindle でご購入ください。
まとめ
今回(こんかい)は、上へすすむプラットフォーマーのつくりかたをしょうかいしました。
障害物(しょうがいぶつ)にぶつかってジャンプをとめるときは、ブロックていぎで「がめんをさいびょうがせずにじっこうする」ところがポイントでしたね。左右のうごきやステージのきりかえも、ブロックていぎでまとめるとプログラムがわかりやすくなるのでオススメです!
最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!