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

車のスピードをリアルにかんじられるカーレースゲームをつくってみましょう。変数(へんすう)をつかってプログラミングすることで、3Dのような遠近感(えんきんかん)を出す方法(ほうほう)をしょうかいします。

スクラッチプログラミング - レースゲームのつくりかた
Photo by Ravi Palwe / Unsplash

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

今回(こんかい)しょうかいするのは、画面(がめん)におくゆきをかんじられるレースゲームのつくりかたです。

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

  • パソコン:左右のやじるしキー
  • タッチスクリーン:画面(がめん)をゆびでさわって左右にうごかす

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

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

  • 遠近感(えんきんかん)を出すほうほう
  • 変数(へんすう)のつかいかた


えんきんかんを出すほうほう

まずは、スプライトとはいけいを用意(ようい)してください。はいけいでつかう道路(どうろ)は、三角形(さんかくけい)でえがくと、おくゆきをあらわすことができますよ。

道路の背景、色違いの車のスプライトが三つ、木のスプライトが一つ
道路の背景、色違いの車のスプライトが三つ、木のスプライトが一つ

車が画面(がめん)のおくへはしっていくようなプロジェクトをつくっていきましょう。3Dのような遠近感(えんきんかん)を出すためには、変数(へんすう) をつかって、スプライトの大きさやうごきのはやさをかえるところがポイントになります。

  • 遠くにあるもの…小さく見える。ゆっくりうごく。
  • 近くにあるもの…大きく見える。はやくうごく。

へんすうで大きさとはやさをかえる

今回(こんかい)のレースゲームでつかう変数(へんすう)は、つぎの3つです。

  • 「x (エックス)」
  • 「y (ワイ)」
  • 「大きさ」

この3つは、これからプログラミングするスプライトでつかいまわします。複数(ふくすう)のスプライトやクローンで、おなじなまえの変数(へんすう)をつかうときは、「このスプライトのみ」をえらんで、変数(へんすう)をつくってくださいね。

変数を作る画面
変数を作る画面

じぶん以外(いがいの)「」と「」のスプライトそれぞれに、変数(へんすう)「x」「y」「大きさ」をつくっておきましょう。

ブロックパレットに変数「x」「y」「大きさ」が表示されている
ブロックパレットに変数「x」「y」「大きさ」が表示されている

木をプログラミングしよう

さいしょに、木のスプライトをプログラミングしていきます。道路(どうろ)のよこに木を表示(ひょうじ)してうごかすことで、車が画面(がめん)のおくへはしっていくようすをあらわしますよ。

道路の両側に木がずらりと並んでいる様子
道路の両側に木がずらりと並んでいる様子

さいしょは小さくひょうじする

とおくにあるものは、小さく見えますよね。なので、さいしょは木を小さく表示(ひょうじ)しましょう。

  • さいしょの位置(いち)と大きさをきめる
木はステージのほぼ中央に小さく表示されている
木はステージのほぼ中央に小さく表示されている

ステージのはしまでうごかす

道路(どうろ)にそって、木をステージのはしまでうごかしていきます。

  • ステージの右はしまでくりかえす
x座標の値がステージの右端より大きくなるまで繰り返す
x座標の値がステージの右端より大きくなるまで繰り返す

ちかづくにつれて、スピードをはやくする

木をうごかすときに、変数(へんすう)をつかってだんだんはやくうごくようにします。yざひょうをへらすことで、ちかづいてくるようすをあらわしましょう。

値(あたい)のかわる変数(へんすう)は、つかうまえに、さいしょのじょうたいにしておく、つまり初期化(しょきか)しておくことをわすれずに!

  • 変数(へんすう)「y」を初期化(しょきか)する
  • y」をすこしずつへらして、だんだんはやくうごかす
変数yを使って木を下方向へ動かす
変数yを使って木を下方向へ動かす

どうろにそって、ななめにうごかす

道路(どうろ)にそってうごかすためには、xざひょうもかえる必要(ひつよう)がありますね。変数(へんすう)をつかって、ななめにうごかしましょう。

  • 変数(へんすう)「x」を初期化(しょきか)する
  • x」をすこしずつふやして、右下へうごかす
変数xを使って木を斜め右下へ動かす
変数xを使って木を斜め右下へ動かす

ちかづくにつれて、だんだん大きくする

うごくのと同時(どうじ)に、木をすこしずつ大きくしていきますよ。

  • 変数(へんすう)「大きさ」を初期化(しょきか)する
  • 大きさ」をすこしずつふやして、だんだん大きくする
変数大きさを使って木をだんだん大きくする
変数大きさを使って木をだんだん大きくする

クローンをつくって、たくさんひょうじする

木はたくさん表示(ひょうじ)したいので、 クローン をつくりましょう。

  • 0.1びょうかんかくで、クローンをつくる
  • ステージのはしまでうごかしたら、クローンを削除(さくじょ)する
木のクローンを作るためのブロックを追加する
木のクローンを作るためのブロックを追加する

道路(どうろ)のよこにたくさんの木が表示(ひょうじ)されて、うごきつづけるようになりました!

道路の右側に表示する木の完成プログラム
道路の右側に表示する木の完成プログラム

ふくせいして、どうろのはんたいがわにもひょうじする

ここまでプログラミングした木をコピーして、左がわにも木を表示(ひょうじ)しましょう。

木のスプライトを右クリックして複製する
木のスプライトを右クリックして複製する

コピーした木は左へうごかしたいので、xの値(あたい)をマイナスにかえることを、わすれずに!

複製したプログラムのx座標の値を変更する
複製したプログラムのx座標の値を変更する

大きさとスピードをかえながら木をうごかすことで、画面(がめん)におくゆきをかんじられるようになりました!

道路の左側に表示する木の完成プログラム
道路の左側に表示する木の完成プログラム
Pyxofyメンバー登録バナー
Pyxofyメンバー登録はこちらから

車をプログラミングしよう

つぎに、じぶん以外(いがいの)車をプログラミングします。画面(がめん)のおくから手前(てまえ)にうごいてくるようにしましょう。

車が道路の向こう側から近づいてくる様子
車が道路の向こう側から近づいてくる様子

大きさとはやさをかえながらうごかす

木とおなじように、さいしょは小さく表示(ひょうじ)して、大きさとはやさをかえながらステージの下までうごかします。車はたくさん表示(ひょうじ)しないので、クローンはつくりません。

ステージの中央に小さく表示した後ステージの下まで動かす
ステージの中央に小さく表示した後ステージの下まで動かす

変数(へんすう)の値(あたい)をきめるときは、ためしに車をうごかしてみましょう。ちょうど道路(どうろ)の上をはしるように、値(あたい)を調整(ちょうせい)してくださいね。

車の大きさと速さを変えながら動かすための変数の値
車の大きさと速さを変えながら動かすための変数の値

いつ出てくるかわからないようにする

さいしょは車をかくしておいて、どのタイミングで出てくるかわからないようにします。乱数(らんすう)びょうまってから表示(ひょうじ)することを、ずっとくりかえしましょう。

ランダムなタイミングで車を表示する
ランダムなタイミングで車を表示する

もう一つの車も、おなじようにうごかしてくださいね。

自分の右側を走る車の完成プログラム
自分の右側を走る車の完成プログラム

じぶんの車をプログラミングしよう

さいごに、じぶんの車をプログラミングしておわりです。ほかの車にぶつからないように、操作(そうさ)できるようにしましょう。

自分の車を左右に動かす様子
自分の車を左右に動かす様子

やじるしキーでそうさする

左右にうごかすために、やじるしキー をつかいます。

矢印キーが押されたなら、x座標を変える
矢印キーが押されたなら、x座標を変える

あたりはんてい

道路(どうろ)からはみ出して木にぶつかったら、はねかえるようにしましょう。木にふれたときのxざひょうをきめておくと、車がはねかえりますよ。

左右の木それぞれに触れた時のx座標を決める
左右の木それぞれに触れた時のx座標を決める

ほかの車にぶつかったらゲームオーバーです。すべてのプログラムをとめましょう。

車に触れたなら全てのプログラムを止める
車に触れたなら全てのプログラムを止める

プログラムかんせい

レースゲームのかんせいです!

自分で車を操作するための完成プログラム
自分で車を操作するための完成プログラム

まとめ

ここまで、画面(がめん)におくゆきをかんじられるレースゲームのつくりかたをしょうかいしました。

遠近感(えんきんかん)を出すポイントは、ちかくにあるときと、とおくにあるときで、ものの大きさやうごくスピードをかえるところでしたね。

かんれんきじ

Scratch (スクラッチ) - ドライブゲームのつくりかた
やじるしキーで車をそうさするドライブゲームをつくってみましょう。画面(がめん)をスクロールさせて車をはしらせますよ。リストをつかって座標(ざひょう)をランダムにえらぶ方法(ほうほう)もしょうかいします。
スクラッチプログラミング - くるまをうんてんするゲームのつくりかた
車(くるま)をうごかして駐車場(ちゅうしゃじょう)にとめるゲームをつくってみましょう。やじるしキーで車(くるま)を操作(そうさ)して、失敗(しっぱい)しても、くりかえしやりなおせるようにプログラミングします。
スクラッチプログラミング - ebook プレビューの紹介です
Pyxofyで公開してきたスクラッチの内容をebookとしてお届けします。ただいま鋭意作成中!今回はそのプレビュー版のご紹介です。

»『Start Here - Scratch (スクラッチ)』では、Scratchの基本(きほん)から、さまざまなゲームやアニメーションなどの記事(きじ)を、レベルべつで見ることができます。

Start Here - Scratch (スクラッチ)
Scratch (スクラッチ)記事(きじ)のレベル別一覧です。初級、中級、上級、拡張機能にわけてまとめました。

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