スクラッチプログラミング - プラットフォームゲームのつくりかた

かんたんなプラットフォーマーをプログラミングできるようになりましょう。変数(へんすう)をつかったリアルなジャンプ、スプライトのそうさ方法(ほうほう)やあたりはんていなど、つくりかたの基本(きほん)をしょうかいします。

スクラッチプログラミング - プラットフォームゲームのつくりかた
Photo by Roméo A. / Unsplash

更新日:2023年12月27日

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

今回(こんかい)は、ジャンプで障害物(しょうがいぶつ)をよけながらつぎのステージへすすんでいく、プラットフォーマーのつくりかたをしょうかいします。

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

  • パソコン キーボードあり
    「右やじるしキー」と「上やじるしキー」をつかってそうさします。やじるしキーを同時(どうじ)におすと、ななめにジャンプします。
  • タブレット キーボードなし
    ステージ右下に出てくる、「やじるしのコントローラー」をタップしてそうさします。コントローラーはふたつ同時(どうじ)におすことはできません。

みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。

このきじをよむとわかること

  • スプライトに重力(じゅうりょく)をあたえるほうほう
  • ステージをきりかえるほうほう
👉
Pyxofy が電子書籍を出版しました!Scratch の基本をまとめた「きょうからはじめるスクラッチプログラミング入門」 詳細はこちら → Pyxofy Books

1. はいけいをよういしよう

さいしょに、 はいけい を用意(ようい)します。

地面(じめん)と、あかい障害物(しょうがいぶつ)をえがきましょう。今回(こんかい)はかんたんに、「スタート」と「ゴール」のはいけいだけにしますね。

  • 「スタート」のはいけいをえがく
ゲームをスタートさせる時の背景
ゲームをスタートさせる時の背景
  • 「ゴール」のはいけいをえがく
ゴールの旗が右端にある背景
ゴールの旗が右端にある背景
  • さいしょは、「スタート」のはいけいにする
旗が押された時、スタートの背景にする
旗が押された時、スタートの背景にする

2. スプライトをよういしよう

そうさするスプライトは、このあとプログラミングする「あたりはんてい」をしやすいように、四角(しかく)にします。スタートする位置(いち)を、 座標(ざひょう)できめましょう。

  • xざひょう…ステージの左はし
  • yざひょう…地面(じめん)の上
スタート位置はステージの左端
スタート位置はステージの左端

3. じゅうりょくで下へうごかそう

スプライトに 重力(じゅうりょく)をあたえて、下へうごくようにします。そうすると、ジャンプしたりあなにおちるようすを、リアルなうごきにちかづけることができますよ。

へんすうをつくる

重力(じゅうりょく)をあらわすためにつかうのは、変数(へんすう)です。下へうごかすためにはyざひょうをかえるので、「yいどう」というなまえの変数(へんすう)をつくりましょう。

  • 変数(へんすう)をつくる
変数「yいどう」がブロックパレットに表示されている
変数「yいどう」がブロックパレットに表示されている

yいどう」は、プログラムをうごかしているあいだ値(あたい)がかわります。このように値(あたい)のかわる変数(へんすう)は、つかうまえにさいしょのじょうたいにしておく、つまり初期化(しょきか)しておくひつようがあります。

  • 変数(へんすう)を初期化(しょきか)する
変数の値を0にする
変数の値を0にする

だんだんはやくうごかす

重力(じゅうりょく)でだんだんはやくおちるようにすると、本当(ほんとう)のうごきにちかづけることができますよ。「yいどう」の値(あたい)を「-1」ずつかえて、そのぶんyざひょうがかわるようにしましょう。

  • だんだんはやく、下へうごかす
変数を少しずつ変えて、だんだん速く落ち続ける
変数を少しずつ変えて、だんだん速く落ち続ける

みどりのはたをおすと、スプライトが下へうごくようになりました!でも、「ずっと」ブロックをつかっているので下へうごきつづけて、スプライトが地面(じめん)の下までおちてしまいましたね。

地面(じめん)の上でスプライトをうごかせるようにしたいので、みどりいろのぶぶんより下へおちないようにしましょう。

じめんより下へおちないようにする

まずは、スプライトが地面(じめん)にふれているかどうかをチェックします。そして、もし地面(じめん)にふれているなら、下へうごかないようにしましょう。

下へうごかないようにするためには、重力(じゅうりょく)をあらわす変数(へんすう)「yいどう」を「0」にしますよ。

  • もしみどりいろにふれたなら、yいどうを(0)にする
変数を0にして、地面より下へ動かないようにする
変数を0にして、地面より下へ動かないようにする

重力(じゅうりょく)があるので、スプライトはつねに下へうごこうとしています。でも、みどりいろの地面(じめん)にふれているときは、下へうごかないようになりました!

4. ジャンプさせよう

キーボードの やじるしキー をおしたら、スプライトがジャンプするようにしましょう。

地面(じめん)にふれているときだけジャンプできるようにします。「もしみどりいろにふれたなら」の中に、ブロックを追加(ついか)してください。

  • もしうわむきやじるしキーがおされたなら、yいどうを(15)にする
上向矢印キーが押されたときに、スプライトを上へ動かす
上向矢印キーが押されたときに、スプライトを上へ動かす

やじるしキーをおすとスプライトがジャンプするようになりました!重力(じゅうりょく)があるので、ジャンプしたあとだんだんゆっくりうごいて、おちてくるときはだんだんはやくなりますよ。

5. 右へうごかそう

ゲームをすすめるために、やじるしキーをおしてスプライトをうごかせるようにしましょう。「もしみどりいろにふれたなら」の下に、ブロックを追加(ついか)してください。

  • もしみぎむきやじるしキーがおされたなら、右へうごかす
右向矢印キーが押されたときに、5歩動かす
右向矢印キーが押されたときに、5歩動かす

「うわむきやじるしキー」と「みぎむきやじるしキー」を同時(どうじ)におすと、ななめにジャンプすることができますよ。

キーボードのないタブレットでもあそびたいときは、 『タブレットでもつかえるコントローラーをつくろう』をさんこうにしてください。

スクラッチプログラミング - タブレットでもつかえるコントローラーをつくろう
キャラクターをうごかすためのコントローラーを、スプライトでつくってみましょう。キーボードのないタブレットをつかうばあい、「メッセージ」ブロックをつかうことで、キャラクターをそうさできるようになりますよ。

6. つぎのステージへきりかえよう

スプライトがステージの右はしまで移動(いどう)したら、つぎのステージへすすむようにしましょう。

  • もしxざひょうが(240)より大きいなら
スプライトがステージの右端まで動いた状態
スプライトがステージの右端まで動いた状態
  • スプライトの位置(いち)を左はしにして、つぎのはいけいにきりかえる
スプライトが左端へ戻り、背景が「ゴール」になった状態
スプライトが左端へ戻り、背景が「ゴール」になった状態

スプライトが右はしまでいくと、ステージがかわるようになりました!

7. あたりはんてい

はいけいの「いろ」であたりはんていをして、「やりなおし」と「ゲームクリア」をきめましょう。

やりなおし

あなにおちたり、トゲにあたったら、さいしょのじょうたいにもどしてやりなおせるようにします。さいしょのじょうたいにするためには、変数(へんすう)を初期化(しょきか)して、スプライトの位置(いち)をステージの左はしにしますよ。

  • もしあかいろにふれたなら、さいしょのじょうたいにもどす
障害物に触れたら、スプライトをスタート位置に戻す
障害物に触れたら、スプライトをスタート位置に戻す

ゲームクリア

ゴールにふれたらゲームクリアにして、おわりにします。

  • もし白いろにふれたなら、プログラムをとめる
ゴールの白い旗に触れたら、プログラムを全て止める
ゴールの白い旗に触れたら、プログラムを全て止める

8. プログラムかんせい

ジャンプで障害物(しょうがいぶつ)をよけながらつぎのステージへすすんでいくプラットフォーマーができました!

プラットフォーマーの完成プログラム
プラットフォーマーの完成プログラム

Pyxofy (著)「きょうからはじめるスクラッチプログラミング入門」

Pyxofy が Scratch の電子書籍を出版しました!Kindle・Apple Books からご購入ください。

詳細はこちら

まとめ

今回(こんかい)は、かんたんなプラットフォーマーをつくってみました。

変数(へんすう)をつかって、スプライトに重力(じゅうりょく)をあたえると、よりリアルなうごきを表現(ひょうげん)できましたね。いろいろなステージを追加(ついか)すると、もっとむずかしくてたのしいゲームになるので、ぜひつくってみてください!

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

かんれんきじ

スクラッチプログラミング - プラットフォーマーのつくりかた【じゅうりょくジャンプ】
プラットフォームゲームのジャンプをくふうしてみましょう。スプライトが着地(ちゃくち)するときに、地面(じめん)にしずんでしまうことがあります。それをふせぐプログラムをつくっていきますよ。
スクラッチプログラミング - プラットフォーマーのつくりかた【上へすすむ】
上へすすむとステージがかわるプラットフォームゲームをつくりましょう。スプライトを左右にうごかしたり、障害物(しょうがいぶつ)にぶつかってジャンプがとまるようにするプログラムを、ブロックていぎをつかってつくります。
スクラッチプログラミング - やじるしキーでうごかすよこスクロール
アクションゲーム(プラットフォーマー)などにつかわれる、よこスクロールする背景(はいけい)のつくりかたをしょうかいします。プログラムのポイントとなるブロックは、「クローン」「変数(へんすう)」「演算(えんざん)」です。