この記事のポイント⇩
車が走っているように見せる方法がわかります。
学べるスクラッチテクニック⇩
クローンの使い方がわかります。
はじめに 車が走っているように見せる
前回の記事で車をキーボードで左右に動かすプログラムを作ることができました。しかし、これだけでは車が前に進んでいっているようには見えません。
今回は、車が前に進んでいっているように見せるための方法を説明して、さらにレースゲームらしくしていきます。
参考記事
前回記事
前回は車をキーボードで操作するプログラムを作成しました。今回の記事では前回記事で作ったプログラムから続けます。以下リンク先を参照してください。
スクラッチの始め方
スクラッチをイチから始めたい方は、以下リンク先の記事を参考にしてください。
完成作品
完成作品はこのようになります。車がドンドン前進していっているように見えますね。もちろん車は左右に動かすことができます。
安全運転第一でお願いします。
完成プログラム
新規追加スプライト
<左白線>
左白線が前方からせまってくるように作ります。
<右白線>
右白線もほとんど同じように作ります。x座標の変化のさせ方を「-」から「+」に変えればよいですね。
スクラッチプロジェクト
スクラッチプロジェクトは以下です。プログラムや画像の素材は自由に使用してもらってOKです。
車が走っているように見える=道路が動いているように見える
車を画面の真ん中に固定して、かつ、車が走っているように見せる方法を考えます。
まず、歩道に立って道路を走る車を見てみる場合を考えてみましょう。その場合、もちろんですが、道路は止まって見えて車がヒューっと動いて見えるでしょう。
つぎは、道路を走る車を同じ速度で後ろから追っている場合を考えてみましょう。
その場合、前方の車は止まって見えて、道路が動いているように見えますね。特に道路の白線がヒューっと流れて動くように見えるでしょう。
すなわち、今回のレースゲームでは車を真ん中に固定して、道路の白線を動かしてやれば、あたかも車が走っているように見えるようになるはずです。
ゲームにおいて、キャラクターを画面中央に固定していながら、キャラクターを動いているように見せるものはほとんどがこの考え方を使っています。
初代マリオカートなんかもこの考え方です。懐かしい。
作るモノ・コト(仕様)を考える
では、今回の作るモノ・コト(仕様)を考えます。
- 白線が道路の遠くから近くへ移動する。=上から下へ移動する。
- 移動する白線は徐々に大きくなっていく。
- 白線は何度も繰り返し出てくる。
はじめに作りたいモノをおおざっぱでもいいので、書き出すことがプログラミングで重要です。
いきなりプログラムを組み始めるよりスムーズに進みます。
スプライトを用意する
今回用意するのは白線のスプライトとなります。白線は左白線、右白線をそれぞれ用意します。
白線なので背景にしようと考えるかもしれませんが、
動かすものはスプライトで用意することになります。
プログラミング
それでは仕様で考えたことを1つずつプログラムしていきます。
白線を道路の遠くから近くへ大きくしながら移動させる
これは前回の記事で車を左右にスムーズに動かすための方法を参考にすればよいです。
ただし、遠くにある白線は小さく見えて、近くにある白線は大きくみせると言った遠近感を出すために、遠く(上)から近く(下)へ移動させるとともに徐々に白線を大きくしていくことが必要です。
従って、左側の白線のプログラムはこのように組みます。
だんだんと大きさと位置を変えることの調整は難しいので、「値を変えて・動かして」を何回か実際にくりかえして決めましょう。これをトライ&エラーと言います。
右側の白線も同様にプログラムを組めばOKですが、「x座標」はプラスとマイナスが逆になります。
動作確認
ではこれで一旦動かしてみましょう。
※【注意】上記画像はgifファイルのため、自動で繰り返し再生されますが、実際のプログラムは白線は1度しか移動しません。
このように白線が徐々に大きくなりながら、近づいてくるように見せることができました。
白線を何度も出現させる→クローンを使う
先ほどの章で、白線が徐々に大きくなりながら、近づいてくるプログラムを作ることができました。ただし、このプログラムでは1度白線を表示して消えたら2度目以降の白線は現れません。
ずっと車が走っているように見せるためには、ずっと白線が表れて近づいてくるようにしなければなりません。
白線が来なければ、車が止まって見えてしまいますね。
このように何度も同じスプライトを表示させて同じように動かすためには、「クローン」を使います。
スクラッチでゲームプログラミングをするには、この「クローン」を上手に使う必要があります。
では、「クローン」を使って、何度も同じスプライトをつくって、同じ動作をさせるようにしてみましょう。
スクラッチでクローンのプログラミングでは、
- クローンを作るプログラム
- クローンの動作のプログラム
を分けて記述します。
まずは左側の白線のプログラムはこのようになります。
今回はプログラムが実行されてからずっとクローンが作られるようにします。
クローンが作られたときの動きは先ほどの動きをそのまま使います。
右側の白線も同様にプログラムを組みます。x座標が右白線ではすべて「+」の値になります。
動作確認
ここで一旦動作確認をしてみます。白線が何度もやってくるようになれば成功です。
ただし、画面の下はしについた白線が左右に流れていくような動きをしていますね。次はこれを解決します。
画面のはしについたクローンを消す
先ほどのプログラムのままでは、画面下はしについた白線が、張り付きながら左右に流れていくような動きをしていました。これを解決するためには、
- もしクローンが画面端にふれたら、
- クローンを消す
をプログラムに追加します。
左白線のスクリプトに以下のような赤枠の部分を追加します。
右白線も同様に修正します。
動作確認
では一旦動きを確認してみましょう。
何度も白線が表れて近づいてきて、画面下に来たらその白線が消えるようになっていれば成功です。
車を一定速度で動いているように見せる方法
これで車が前に進んでいるように見えるなりました。
しかし、今のプログラムでは白線が近づいてくるに従って、車の速度が遅くなっているように見えます。
車を一定速度で動いているように見せるためにはもう一工夫が必要になります。それは次回説明していきます。
さいごに
今回は、車が走っているように見せるためのプログラミングを説明しました。ゲームプログラミングでは、ちょっとしたカラクリを入れることでより現実に即した見え方を実現することができます。
ただし、自分で思いつくことはなかなか難しいです。そういった場合には、書籍やインターネットでドンドン調べて学んでいきましょう。
知識がある程度身についてくるといつの間にか自分で応用ができるようになります!
スクラッチ学習 おススメ本
私も参考にしているスクラッチ参考書を紹介します。どれもわかりやすいものばかりです。
私の場合は、図書館で借りて試し読みして、分かりやすかったものを購入しています。試し読みは必須です。あと手元にずっと置いておきいつでも参照できるようにすることも重要です。
次回
次回は車が同じ速度で走っているように見せる方法を説明します。ぜひチャレンジしてみてください。
次回の完成作品はこんな感じです!
白線の速度をだんだん速くするようにした場合(次回)
白線の速度を同じにした場合(今回)
コメント