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

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

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

Scratchで はじめようゲームプログラミング

12.「玉をやり過ごす」を作ろう③

 

[ 「玉をやり過ごす」を作ろう② ] の続きです。

 

プログラミングに慣れるまでは、途中で沢山テストすることをオススメします。
「最後にまとめてテストしようかな」
と思うかもしれません。

途中でテストすることで、正しく動かなかったとき原因が分かり易くなります。
また、課題のプログラムを入力しているなら、実行することでプログラムの仕組みと結果が記憶に残り易くなります。

当サイトが作成手順を詳しく説明している理由もここにあります。
途中で沢山テストしてもらいためなんです。

 

 

オリジナルのスプライトを隠そう

実行して玉が下へ移動すると、画面上に1つだけ玉が残ります。
落下している玉はクローンで、残っているのはオリジナルのスプライトです。

オリジナルのスプライトが残る

 

オリジナルのスプライトを隠します。
見た目から隠す表示するを 下図のところに入れます。

スプライトを隠す

スプライトを隠した状態でも、実際には存在するのでクローンに座標が引き継がれます。
ですからクローンされたものだけ表示すればいいのです。

 

 

移動処理を完成させよう

玉の移動処理を完成させます。
今のままだと連続して玉が発生してしまうので「待つ」を入れます。

制御から1秒待つを持ってきます。
0.8 秒に変更します。
この数値はこのゲームの完成後に決めました。
ゲームは難しすぎず、簡単すぎない状態にする必要があります。発生間隔などの調整はゲームが遊べるようになってから行いましょう。

玉の発生間隔を空ける

 

画面下まで移動させた玉は不要になります。
制御からこのクローンを削除するを持ってきます。

移動後のクローンを削除する

不要になったクローンは「隠す」ではなく「削除」しましょう。
隠すということは、そのクローンの存在がメモリ上に残ります。沢山のクローンが存在すれば、それだけコンピューターの負荷になります。
実行中のデバイス(PCやタブレット)が熱くなったり、バッテリーの消費が早くなったりします。注意しましょう。

 

 

壁と玉の当たり判定を入れよう

壁(3つの四角)と玉との当たり判定を入れます。

まず、壁に当たったときの絵を用意しましょう。
コスチュームのタブをクリックし、スプライトエディタを開きます。
そして、左下のアイコンをクリックして新しいコスチュームを追加します。

コスチュームを追加する

 

コスチュームを選ぶが開いたら button で検索します。
Button5-b を選びましょう。

コスチュームButton5-bを選ぶ

 

Button5-b の追加を確認したら、コスチューム名を miss に変更します。
変更したらコード編集に戻ります。

コスチューム名をmissにする

 

現在、コスチュームは編集画面で選択中のものがステージに表示されます。これをプログラムで指定したコスチュームにします。

見た目からコスチュームを◯にするを持ってきます。
コスチューム名を ball-a にします。

コスチュームをball-aにする

 

クローンされた玉の移動処理の中に当たり判定を入れます。
制御からもし〜ならを持ってきます。

移動処理の中に条件判断ブロックを入れる

 

調べるからマウスのポインターに触れたを持ってきます。
対象をスプライトの にします。

壁に触れたときの条件にする

 

玉が壁と当たったときコスチュームを変化させます。
見た目からコスチュームを◯にするを持ってきます。
コスチュームは miss にします。

当たったときコスチュームをmissにする

 

壁の当たり判定は、描かれた3つの四角の部分のみ判定されます。

描かれた四角の部分で当たり判定

 

コスチュームを変えただけでは移動は止まらないので「待つ」を入れます。
制御から1秒待つを持ってきます。
1秒では長いので 0.5 秒にします。

0.5秒待つを入れる

 

不要になったクローンは消します。
制御からこのクローンを削除するを持ってきます。

不要になったクローンを消す

 

実行して確認しましょう。
壁に当たった玉はコスチュームが変わり消えます。

実行して玉が壁に当たったときの確認をする

 

 

スコアとミスを表示しよう

壁をすり抜けたらスコア +10 点を表示し、壁に当たったらミス +1 を表示します。
それぞれ変数を作りましょう。

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

変数を2つ作る

 

新しい変数スコアミスを作ります。
どちらも「すべてのスプライト用」でOKです。

スコアとミスの変数を作る

 

変数 の所には新しく作った変数名が表示されます。(左図)
チェックマークが付いているものはステージに表示されます。(右図)

追加された変数の表示

 

変数を使うとき、必ず初期化するようにしましょう
理由はプログラムを再実行したとき、前に実行した値がそのまま残っているからです。

変数から〜を0にするを2つ持ってきます。
これらの変数は「実行時に一回行えばいい」「使う場所の近く」という理由から下図の所に入れます。
スコアを0にするミスを0にするを作ります。

スコアとミスの初期化を行う

 

クローン側に加算の処理を入れていきます。
変数から〜を1ずつ変えるを2つ持ってきます。
壁との当たり判定の中にミスを1ずつ変えるを作ります。
玉が最後まで移動したときにスコアを10ずつ変えるを作ります。

スコアとミスの加算処理を入れる

これで壁に当たったときミスが加算され、壁をすり抜けたときスコアに加算されます。

 

 

評価メッセージの素材を作ろう

ゲームが終了したとき、評価メッセージを表示しようと思います。
そのためには終了したことを知らせる必要があります。(誰に?)

20個の玉を発生させた後にメッセージを送ります。
イベントからメッセージ1を送るを持ってきます。

メッセージ1を送るを使う

 

メッセージ1 のままでは内容が分からないので新しいメッセージ名を作ります。
終了 というメッセージ名にします。

終了という新しいメッセージを作る

 

評価メッセージ用のスプライトを作ります。
スプライト作成アイコンから 描く をクリックします。

評価メッセージ用のスプライトを作る

 

このスプライトに3つの言葉を作ります。つまり、コスチュームを3つ用意します。
まず、緑色に設定してツールの テキスト を選びます。
編集エディタの真ん中に 最高 を描きます。

テキストツールを使って最高を描く

 

テキストを大きくしましょう。
枠線をドラッグすれば好きなサイズに変更できます。枠線の場所によって縦横の拡縮が変わるので色々と試してみてください。
ステージ画面を見ながらサイズと位置を調整しましょう。

テキストを拡大する

 

2つ目のコスチュームを作ります。
コスチューム作成アイコンの 描く をクリックします。

2つ目のコスチュームを作る

 

2つ目は黄色に変更してテキストツールで いいね! を描きます。
サイズや位置を調整しましょう。

2つ目のコスチュームにいいねを描く

 

3つ目のコスチュームを作ります。
コスチューム作成アイコンの 描く をクリックします。

3つ目のコスチュームを作る

 

3つ目はピンク色に変更して がんばって を描きます。

3つ目のコスチュームにがんばってを描く

 

プログラムで使用するため、それぞれのコスチューム名を変更します。
最高・いいね・がんばって に変更しましょう。

それぞれにコスチューム名を指定する

これで評価メッセージの素材ができました。

 

 

スプライトを隠そう

評価メッセージはゲーム終了時に使います。それまでは必要ないので隠します。

コードタブをクリックしてプログラミングしましょう。

イベントから旗が押されたときを持ってきます。
見た目から隠すを持ってきます。

スプライトを隠す

 

次回、完結編に続きます。