スクラッチプログラミング - レースゲームのつくりかた
車のスピードをリアルにかんじられるカーレースゲームをつくってみましょう。変数(へんすう)をつかってプログラミングすることで、3Dのような遠近感(えんきんかん)を出す方法(ほうほう)をしょうかいします。
サンプルさくひんであそんでみよう
今回(こんかい)しょうかいするのは、画面(がめん)におくゆきをかんじられるレースゲームのつくりかたです。
スプライトのそうさほうほう
- パソコン:左右のやじるしキー
- タッチスクリーン:画面(がめん)をゆびでさわって左右にうごかす
みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。
このきじをよむとわかること
- 遠近感(えんきんかん)を出すほうほう
- 変数(へんすう)のつかいかた
えんきんかんを出すほうほう
まずは、スプライトとはいけいを用意(ようい)してください。はいけいでつかう道路(どうろ)は、三角形(さんかくけい)でえがくと、おくゆきをあらわすことができますよ。
![道路の背景、色違いの車のスプライトが三つ、木のスプライトが一つ 道路の背景、色違いの車のスプライトが三つ、木のスプライトが一つ](https://www.pyxofy.com/content/images/2022/03/2022-05-01-scratch-programming-car-race-1.png)
車が画面(がめん)のおくへはしっていくようなプロジェクトをつくっていきましょう。3Dのような遠近感(えんきんかん)を出すためには、変数(へんすう) をつかって、スプライトの大きさやうごきのはやさをかえるところがポイントになります。
- 遠くにあるもの…小さく見える。ゆっくりうごく。
- 近くにあるもの…大きく見える。はやくうごく。
へんすうで大きさとはやさをかえる
今回(こんかい)のレースゲームでつかう変数(へんすう)は、つぎの3つです。
- 「x (エックス)」
- 「y (ワイ)」
- 「大きさ」
この3つは、これからプログラミングするスプライトでつかいまわします。複数(ふくすう)のスプライトやクローンで、おなじなまえの変数(へんすう)をつかうときは、「このスプライトのみ」をえらんで、変数(へんすう)をつくってくださいね。
![変数を作る画面 変数を作る画面](https://www.pyxofy.com/content/images/2022/03/2022-05-02-scratch-programming-car-race-1.png)
じぶん以外(いがいの)「車」と「木」のスプライトそれぞれに、変数(へんすう)「x」「y」「大きさ」をつくっておきましょう。
![ブロックパレットに変数「x」「y」「大きさ」が表示されている ブロックパレットに変数「x」「y」「大きさ」が表示されている](https://www.pyxofy.com/content/images/2022/03/2022-05-03-scratch-programming-car-race-1.png)
木をプログラミングしよう
さいしょに、木のスプライトをプログラミングしていきます。道路(どうろ)のよこに木を表示(ひょうじ)してうごかすことで、車が画面(がめん)のおくへはしっていくようすをあらわしますよ。
![道路の両側に木がずらりと並んでいる様子 道路の両側に木がずらりと並んでいる様子](https://www.pyxofy.com/content/images/2022/03/2022-05-04-scratch-programming-car-race-1.png)
さいしょは小さくひょうじする
とおくにあるものは、小さく見えますよね。なので、さいしょは木を小さく表示(ひょうじ)しましょう。
- さいしょの位置(いち)と大きさをきめる
![木はステージのほぼ中央に小さく表示されている 木はステージのほぼ中央に小さく表示されている](https://www.pyxofy.com/content/images/2022/03/2022-05-05-scratch-programming-car-race-1.png)
ステージのはしまでうごかす
道路(どうろ)にそって、木をステージのはしまでうごかしていきます。
- ステージの右はしまでくりかえす
![x座標の値がステージの右端より大きくなるまで繰り返す x座標の値がステージの右端より大きくなるまで繰り返す](https://www.pyxofy.com/content/images/2022/03/2022-05-06-scratch-programming-car-race-1.png)
ちかづくにつれて、スピードをはやくする
木をうごかすときに、変数(へんすう)をつかってだんだんはやくうごくようにします。yざひょうをへらすことで、ちかづいてくるようすをあらわしましょう。
値(あたい)のかわる変数(へんすう)は、つかうまえに、さいしょのじょうたいにしておく、つまり初期化(しょきか)しておくことをわすれずに!
- 変数(へんすう)「y」を初期化(しょきか)する
- 「y」をすこしずつへらして、だんだんはやくうごかす
![変数yを使って木を下方向へ動かす 変数yを使って木を下方向へ動かす](https://www.pyxofy.com/content/images/2022/03/2022-05-07-scratch-programming-car-race-1.png)
どうろにそって、ななめにうごかす
道路(どうろ)にそってうごかすためには、xざひょうもかえる必要(ひつよう)がありますね。変数(へんすう)をつかって、ななめにうごかしましょう。
- 変数(へんすう)「x」を初期化(しょきか)する
- 「x」をすこしずつふやして、右下へうごかす
![変数xを使って木を斜め右下へ動かす 変数xを使って木を斜め右下へ動かす](https://www.pyxofy.com/content/images/2022/03/2022-05-08-scratch-programming-car-race-1.png)
ちかづくにつれて、だんだん大きくする
うごくのと同時(どうじ)に、木をすこしずつ大きくしていきますよ。
- 変数(へんすう)「大きさ」を初期化(しょきか)する
- 「大きさ」をすこしずつふやして、だんだん大きくする
![変数大きさを使って木をだんだん大きくする 変数大きさを使って木をだんだん大きくする](https://www.pyxofy.com/content/images/2022/03/2022-05-09-scratch-programming-car-race-1.png)
クローンをつくって、たくさんひょうじする
木はたくさん表示(ひょうじ)したいので、 クローン をつくりましょう。
- 0.1びょうかんかくで、クローンをつくる
- ステージのはしまでうごかしたら、クローンを削除(さくじょ)する
![木のクローンを作るためのブロックを追加する 木のクローンを作るためのブロックを追加する](https://www.pyxofy.com/content/images/2022/03/2022-05-10-scratch-programming-car-race-1.png)
道路(どうろ)のよこにたくさんの木が表示(ひょうじ)されて、うごきつづけるようになりました!
![道路の右側に表示する木の完成プログラム 道路の右側に表示する木の完成プログラム](https://www.pyxofy.com/content/images/2022/03/2022-05-11-scratch-programming-car-race-1.png)
ふくせいして、どうろのはんたいがわにもひょうじする
ここまでプログラミングした木をコピーして、左がわにも木を表示(ひょうじ)しましょう。
![木のスプライトを右クリックして複製する 木のスプライトを右クリックして複製する](https://www.pyxofy.com/content/images/2022/03/2022-05-12-scratch-programming-car-race-1.png)
コピーした木は左へうごかしたいので、xの値(あたい)をマイナスにかえることを、わすれずに!
![複製したプログラムのx座標の値を変更する 複製したプログラムのx座標の値を変更する](https://www.pyxofy.com/content/images/2022/03/2022-05-13-scratch-programming-car-race-1.png)
大きさとスピードをかえながら木をうごかすことで、画面(がめん)におくゆきをかんじられるようになりました!
![道路の左側に表示する木の完成プログラム 道路の左側に表示する木の完成プログラム](https://www.pyxofy.com/content/images/2022/03/2022-05-14-scratch-programming-car-race-1.png)
車をプログラミングしよう
つぎに、じぶん以外(いがいの)車をプログラミングします。画面(がめん)のおくから手前(てまえ)にうごいてくるようにしましょう。
![車が道路の向こう側から近づいてくる様子 車が道路の向こう側から近づいてくる様子](https://www.pyxofy.com/content/images/2022/03/2022-05-15-scratch-programming-car-race-1.png)
大きさとはやさをかえながらうごかす
木とおなじように、さいしょは小さく表示(ひょうじ)して、大きさとはやさをかえながらステージの下までうごかします。車はたくさん表示(ひょうじ)しないので、クローンはつくりません。
![ステージの中央に小さく表示した後ステージの下まで動かす ステージの中央に小さく表示した後ステージの下まで動かす](https://www.pyxofy.com/content/images/2022/03/2022-05-16-scratch-programming-car-race-1.png)
変数(へんすう)の値(あたい)をきめるときは、ためしに車をうごかしてみましょう。ちょうど道路(どうろ)の上をはしるように、値(あたい)を調整(ちょうせい)してくださいね。
![車の大きさと速さを変えながら動かすための変数の値 車の大きさと速さを変えながら動かすための変数の値](https://www.pyxofy.com/content/images/2022/03/2022-05-17-scratch-programming-car-race-1.png)
いつ出てくるかわからないようにする
さいしょは車をかくしておいて、どのタイミングで出てくるかわからないようにします。乱数(らんすう)びょうまってから表示(ひょうじ)することを、ずっとくりかえしましょう。
![ランダムなタイミングで車を表示する ランダムなタイミングで車を表示する](https://www.pyxofy.com/content/images/2022/03/2022-05-18-scratch-programming-car-race-1.png)
もう一つの車も、おなじようにうごかしてくださいね。
![自分の右側を走る車の完成プログラム 自分の右側を走る車の完成プログラム](https://www.pyxofy.com/content/images/2022/03/2022-05-19-scratch-programming-car-race-2.png)
じぶんの車をプログラミングしよう
さいごに、じぶんの車をプログラミングしておわりです。ほかの車にぶつからないように、操作(そうさ)できるようにしましょう。
![自分の車を左右に動かす様子 自分の車を左右に動かす様子](https://www.pyxofy.com/content/images/2022/03/2022-05-20-scratch-programming-car-race-1.png)
やじるしキーでそうさする
左右にうごかすために、やじるしキー をつかいます。
![矢印キーが押されたなら、x座標を変える 矢印キーが押されたなら、x座標を変える](https://www.pyxofy.com/content/images/2022/03/2022-05-21-scratch-programming-car-race-1.png)
あたりはんてい
道路(どうろ)からはみ出して木にぶつかったら、はねかえるようにしましょう。木にふれたときのxざひょうをきめておくと、車がはねかえりますよ。
![左右の木それぞれに触れた時のx座標を決める 左右の木それぞれに触れた時のx座標を決める](https://www.pyxofy.com/content/images/2022/03/2022-05-22-scratch-programming-car-race-2.png)
ほかの車にぶつかったらゲームオーバーです。すべてのプログラムをとめましょう。
![車に触れたなら全てのプログラムを止める 車に触れたなら全てのプログラムを止める](https://www.pyxofy.com/content/images/2022/03/2022-05-23-scratch-programming-car-race-1.png)
プログラムかんせい
レースゲームのかんせいです!
![画面に奥行きを感じられるレースゲームのプログラム 自分で車を操作するための完成プログラム](https://www.pyxofy.com/content/images/2022/03/2022-05-24-scratch-programming-car-race-1.png)
![](https://www.pyxofy.com/content/images/2024/07/cover-page-320-4.png)
Pyxofy (著)「きょうからはじめるスクラッチプログラミング入門」
Pyxofy が Scratch の電子書籍を出版しました!Kindle・Apple Books からご購入ください。
まとめ
ここまで、画面(がめん)におくゆきをかんじられるレースゲームのつくりかたをしょうかいしました。
遠近感(えんきんかん)を出すポイントは、ちかくにあるときと、とおくにあるときで、ものの大きさやうごくスピードをかえるところでしたね。
最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!