Scratchで はじめようゲームプログラミング
16.「けるヨケル」を作ろう③完
[ 「けるヨケル」を作ろう② ] の続きです。
ゲームを作るとき、ネットで公開されている絵を使いたい時があります。
「フリー素材だから使ってもいいよね」
と思うかもしれませんが、スクラッチの場合、確認せず使ってはダメです。
スクラッチはリミックス機能があるため「再配布」が行われます。
大抵のフリー素材はこの「再配布」を認めていません。
詳しくは「 scratch フリー素材 注意 」で検索してください。
ゲームクリアを表示しよう
このゲーム制作も今回で終わりです。あと少しです。がんばりましょう。
前回、ゲームクリアのメッセージを送りました。
これをプレイヤー側で受け取り、ゲームクリアの表示をさせます。
プレイヤースプライトをクリックしてください。
イベントからゲームクリアを受け取ったときを持ってきます。
演出としてプレイヤーをステージの中央に配置したいですね。
動きからx座標を○、y座標を○にするを持ってきます。
それぞれ 0 に変更します。
見た目からゲームクリアと言うを持ってきます。
ゲームクリア後はプレイヤーのすべての処理を止める必要があります。
制御からスプライトの他のスクリプトを止めるを持ってきます。
テストしましょう。
5つの玉が出現し2秒後にゲームクリアになります。
ゲームオーバーの処理を作ろう
ゲームオーバーの処理を作ります。
ゲームオーバーになる条件は「プレイヤーが玉に当たったとき」なので
(当たり判定を玉で行っているため)玉側で作ります。
Ball スプライトをクリックしてください。
どの玉と当たったのかわかり易いように玉の色を変えてからゲームオーバーにします。
見た目から次のコスチュームにすると
ゲームオーバーと考えるを持ってきます。
ゲームオーバーになったことをプレイヤースプライトに伝える必要があります。
「ゲームオーバー」というメッセージを作ってください。
ゲームオーバーと考えるの下にゲームオーバーを送るをつなげます。
それからゲームオーバーを受け取ったときを配置しておきます。
ゲームオーバーを受け取ったときの下にスプライトの他のスクリプトを止めるをつなげます。
「どうしてメッセージを使って動きを止めるんだろう」
と思ってますか。疑問を持つことはいいことです。成長のチャンスになります。
基本的にクローンを使っているときはすべてを止めるは使えませえん。クローンが消えてしまうので。
メッセージとスプライトの他のスクリプトを止めるの組み合わせはとても使い勝手がよく、
他のスプライト(クローンも含めて)の動きを止めるのに便利です。
ゲームオーバー後にスクリプトを止める処理はプレイヤー側でも必要です。
スプライト一覧のプレイヤーアイコンにドラッグ&ドロップしましょう。
プレイヤー側にコピーできます。
プレイヤースプライトのコードを開いてください。
ゲームオーバー処理がコピーされているか確認しましょう。
テストしましょう。
接触した玉の色が変わり「ゲームオーバー」が表示されます。
その他の玉も動きを止め、プレイヤーを操作することもできなくなります。
スコアを入れよう
スコアを入れます。
玉が動き出したときに +100 とし、ゲームクリアで +500 とします。
Ball スプライトを開きましょう。
スコアを 100 ずつ変えるを下図のところに入れます。
ゲームクリアの後にスコアを 500 ずつ変えるを入れます。
テストしましょう。
玉を蹴ったとき(自動で動き始めたとき)スコアが入っているか、ゲームクリアで入っているかを確認します。
効果音を入れよう
効果音を入れましょう。
玉を蹴ったときやゲームクリア、ゲームオーバーのときに音を鳴らします。
これらすべて Ball スプライトで処理します。
音のタブをクリックし、左下のアイコンから音を追加します。
win で検索し「 Win 」を追加します。
再度、音の追加のアイコンをクリックし「 Lose 」を追加します。
lose で検索しましょう。
もう一つ追加します。
telepo で検索し「 Teleport2 」を追加します。
3つの音を追加しました。
追加されたことを確認したらコード編集に戻りましょう。
ゲームクリアのときの音を入れます。
音からWin の音を鳴らすを下図のところへ入れます。
玉を蹴ったとき(自動で動き出すとき)の音を入れます。
Teleport2 の音を鳴らすを下図のところへ入れます。
ゲームオーバーのときの音を入れます。
Lose の音を鳴らすを下図のところへ入れます。
入れたらテストしてみましょう。
自分の好きな音を探して変更してみるのも楽しいですよ。
完成しました
これで完成です。お疲れさまでした。
スプライトを2つしか使わなかったので、それぞれの処理を1つ1つ見ていけば理解できると思います。
ただ、クローンやメッセージの使い方は間違いやすい(バグが入りやすい)のでゲームをたくさん作って経験を積みましょう。
最後にスプライトの全コードを載せておきます。
作成した変数です。