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

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

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

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

16.「けるヨケル」を作ろう③完

 

[ 「けるヨケル」を作ろう② ] の続きです。

ゲームを作るとき、ネットで公開されている絵を使いたい時があります。
「フリー素材だから使ってもいいよね」
と思うかもしれませんが、スクラッチの場合、確認せず使ってはダメです。
スクラッチはリミックス機能があるため「再配布」が行われます。
大抵のフリー素材はこの「再配布」を認めていません。
詳しくは「 scratch フリー素材 注意 」で検索してください。

 

 

ゲームクリアを表示しよう

このゲーム制作も今回で終わりです。あと少しです。がんばりましょう。

前回、ゲームクリアのメッセージを送りました。
これをプレイヤー側で受け取り、ゲームクリアの表示をさせます。
プレイヤースプライトをクリックしてください。

プレイヤーのスプライトをクリック

 

イベントからゲームクリアを受け取ったときを持ってきます。

ゲームクリアを受け取ったときを使う

 

演出としてプレイヤーをステージの中央に配置したいですね。
動きからx座標を○、y座標を○にするを持ってきます。
それぞれ 0 に変更します。

xy座標を0にする

 

見た目からゲームクリアと言うを持ってきます。

ゲームクリアと言うを使う

 

ゲームクリア後はプレイヤーのすべての処理を止める必要があります。
制御からスプライトの他のスクリプトを止めるを持ってきます。

スプライトの他のスクリプトを止めるを使う

 

テストしましょう。
5つの玉が出現し2秒後にゲームクリアになります。

ゲームクリアを確認する

 

 

ゲームオーバーの処理を作ろう

ゲームオーバーの処理を作ります。
ゲームオーバーになる条件は「プレイヤーが玉に当たったとき」なので
(当たり判定を玉で行っているため)玉側で作ります。
Ball スプライトをクリックしてください。

玉スプライトをクリック

 

どの玉と当たったのかわかり易いように玉の色を変えてからゲームオーバーにします。
見た目から次のコスチュームにするゲームオーバーと考えるを持ってきます。

玉の色を変えてゲームオーバーと言う

 

ゲームオーバーになったことをプレイヤースプライトに伝える必要があります。
ゲームオーバー」というメッセージを作ってください。

ゲームオーバーメッセージを作る

 

ゲームオーバーと考えるの下にゲームオーバーを送るをつなげます。
それからゲームオーバーを受け取ったときを配置しておきます。

ゲームオーバーを送り受け取る処理

 

ゲームオーバーを受け取ったときの下にスプライトの他のスクリプトを止めるをつなげます。

スプライトの他のスクリプトを止めるを使う

「どうしてメッセージを使って動きを止めるんだろう」
と思ってますか。疑問を持つことはいいことです。成長のチャンスになります。
基本的にクローンを使っているときはすべてを止めるは使えませえん。クローンが消えてしまうので。
メッセージとスプライトの他のスクリプトを止めるの組み合わせはとても使い勝手がよく、 他のスプライト(クローンも含めて)の動きを止めるのに便利です。

 

ゲームオーバー後にスクリプトを止める処理はプレイヤー側でも必要です。
スプライト一覧のプレイヤーアイコンにドラッグ&ドロップしましょう。
プレイヤー側にコピーできます。

ゲームオーバー処理をプレイヤー側にコピーする

 

プレイヤースプライトのコードを開いてください。
ゲームオーバー処理がコピーされているか確認しましょう。

ゲームオーバー処理がコピーされているか確認する

 

テストしましょう。
接触した玉の色が変わり「ゲームオーバー」が表示されます。
その他の玉も動きを止め、プレイヤーを操作することもできなくなります。

ゲームオーバー処理のテストをする

 

 

スコアを入れよう

スコアを入れます。
玉が動き出したときに +100 とし、ゲームクリアで +500 とします。
Ball スプライトを開きましょう。

スコアを 100 ずつ変えるを下図のところに入れます。

スコアを100ずつ変えるを入れる

 

ゲームクリアの後にスコアを 500 ずつ変えるを入れます。

スコアを500ずつ変えるを入れる

 

テストしましょう。
玉を蹴ったとき(自動で動き始めたとき)スコアが入っているか、ゲームクリアで入っているかを確認します。

スコア加算の確認をする

 

 

効果音を入れよう

効果音を入れましょう。
玉を蹴ったときやゲームクリア、ゲームオーバーのときに音を鳴らします。
これらすべて Ball スプライトで処理します。

のタブをクリックし、左下のアイコンから音を追加します

音を追加する

 

win で検索し「 Win 」を追加します。

winの音を追加

 

再度、音の追加のアイコンをクリックし「 Lose 」を追加します。
lose で検索しましょう。

loseの音を追加

 

もう一つ追加します。
telepo で検索し「 Teleport2 」を追加します。

Teleport2の音を追加

 

3つの音を追加しました。
追加されたことを確認したらコード編集に戻りましょう。

3つの音を追加した

 

ゲームクリアのときの音を入れます。
からWin の音を鳴らすを下図のところへ入れます。

Winの音を鳴らす

 

玉を蹴ったとき(自動で動き出すとき)の音を入れます。
Teleport2 の音を鳴らすを下図のところへ入れます。

Teleport2の音を鳴らす

 

ゲームオーバーのときの音を入れます。
Lose の音を鳴らすを下図のところへ入れます。

Loseの音を鳴らす

入れたらテストしてみましょう。
自分の好きな音を探して変更してみるのも楽しいですよ。

 

 

完成しました

これで完成です。お疲れさまでした。

スプライトを2つしか使わなかったので、それぞれの処理を1つ1つ見ていけば理解できると思います。
ただ、クローンやメッセージの使い方は間違いやすい(バグが入りやすい)のでゲームをたくさん作って経験を積みましょう。

 

最後にスプライトの全コードを載せておきます。

プレイヤーのコード 玉のコード

作成した変数です。

作成した変数