初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

子どもでもわかる Scratch 入門

14.メテオパニックゲームを作ろう その3

 

[ 13.メテオパニックゲームを作ろう その2 ] の続きです。

隕石をクローン(複製)して、ステージの上から降ってくるようにしました。

 

 

斜め移動のための変数を作ろう

隕石が上から下へまっすぐ移動するだけでは、ゲームっぽさが足りないような気がします。
落ち方に角度を付けてみましょう。

角度という言葉を使うと難しそうですが、x座標の値を少しいじるだけです。
方法はx座標を変化させるための変数を用意します。

 

次の作業は隕石を選択した状態で行って下さい

変数カテゴリで変数を作るをクリックします。

隕石用の変数を作る

 

変数名をx変化と入力し、このスプライトのみを選択して最後にOKをクリックします。
すると変数を作るの下に新しく変数が追加されます。

x変化という変数を作る

このスプライトのみを選ぶ理由ですが、
隕石はクローンにて作られるためそれぞれ独自の変数を持つ必要があるのです。

例えばすべてのスプライト用を選ぶと、すべての隕石が同じ方向に動いてしまいます。

 

それから、変数の表示は消します。
x変化のチェックを外しましょう。

変数の表示を消す

 

 

隕石を斜めに動かそう

x変化の変数をランダムで設定したあと、移動中の隕石に加えてみます。

まずは初期設定です。
変数カテゴリからx変化を0にするを移動します。
演算カテゴリから乱数をx変化の設定値にはめ込みます。

x変数の初期値をランダムにする

乱数の範囲を-5から5までに変更します。
これで隕石の移動角度がランダムになります。

 

斜めに移動する処理を入れます。

動きカテゴリからx座標を10ずつ変えるを移動します。
変数カテゴリからx変化を移動してはめ込みます。

x座標にx変数の値を加算する

隕石のx座標に、x変化の値を足していくことで斜めに移動します。

 

 

爆発のスプライトをコピーしよう

自機を爆発させるときに使う絵を用意します。
絵は隕石をバックパックでコピーしたときと同じ方法で取得します。

バックパックを開くと、まだコピーしていない爆発(explosion)のスプライトがあります。
これをスプライト一覧のところへドラッグ&ドロップしましょう。

バックパックから爆発のスプライトをコピーする

 

コピー後、爆発 (explosion) のスプライトは見えないようにします。

爆発を選択してから作業します。
イベントカテゴリから旗が押されたときを移動します。
見た目カテゴリから隠すを下に付けます。

爆発のスプライトを隠す

 

 

当たり判定を入れよう

隕石を避けるゲームなので、自機(ロボット)と隕石の当たり判定を行います。
ここは男らしく (?) 隕石と接触したら一発でアウトにします。

当たり判定については
6.Scratch (スクラッチ) の初歩 その1と同じ方法にします。

 

これからの作業はロボットを選択して行います。

ロボットを選択中

 

隕石に触れるまで繰り返すの処理を作ります。
これが一番シンプルな当たり判定です。

制御カテゴリから ( )まで繰り返すを何もないところへ移動します。
調べるカテゴリから(マウスのポインター)に触れたを移動してはめ込みます。

当たり判定の作り方

 

(マウスのポインター)に触れた(meteor)に触れたに変更します。
これで隕石に触れるまで繰り返すの処理ができました。

隕石との当たり判定を行う

 

現在の処理と差し替えます。
下図の手順でするといいでしょう。ずっとはいらないので消します。

隕石に当たるまで繰り返すようにする

この状態で実行すると、自機は隕石と接触した瞬間に操作できなくなります。

 

 

自機を隠そう

隕石と接触してからの流れは
隕石と接触自機を隠す爆発演出
となります。

 

それでは自機を隠す処理を追加します。

見た目カテゴリから隠すを当たり判定の下に移動します。
同時に表示するy座標を-120にするの下に移動します。

隠すと表示する処理を入れる

表示するを入れる理由ですが、これが無いと再度実行したときに
自機が見えないままになります。
隠す処理を入れるときは、表示する処理も入れるようにしましょう。

 

実行してみましょう。
自機が隕石と当たったとき、自機が消えれば成功です。

画面が表示されないときはここをクリック

 

次回に続きます。