【Scratchで簡単なゲーム作成編④】条件を満たすとアイテムの種類を変化する機能をつける


※ 当ページには【広告/PR】を含む場合があります。
2020/09/19
【Scratchで簡単なゲーム作成編③】スプライトのコピーとゲーム機能の拡張
【Scratchで簡単なゲーム作成編⑤】ゲームの状態を伝えるセリフ枠を作成する




ゲームを遊んでいるプレーヤーからすると、アイテムの種類が増えるとグッと楽しくなります。 今回は条件の設定でアイテムの種類を変化させる方法のプログラミング方法を深堀してみましょう。
なお、今回までで紹介したプログラミングテクニックで完成品は以下のようなゲームに仕上がる予定です。


合同会社タコスキングダム|蛸壺の技術ブログ【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

表示条件の設定




前回の記事・
「Scratchで簡単なゲーム作成編③ ~ スプライトのコピーとゲーム機能の拡張」 までのプログラムを使って、更に機能を盛り込んでいきましょう。
プログラムは
Scratchのウェブページのココ から利用できます。

合同会社タコスキングダム|蛸壺の技術ブログ
【Scratchで簡単なゲーム作成編③】スプライトのコピーとゲーム機能の拡張

作成中のScratchゲームでエサ置き場の増やし方(スプライトのコピー追加)のテクニックを解説します。



今回の目的はゲームの条件を満たすと新しい食べ物が選択できるような機能をつけることです。 最初に条件を決めましょう。
とりあえず
りんご5個とタコ3個でスイカが出現 して食べ物の選択画面から使えるようにしてみます。


合同会社タコスキングダム|蛸壺の技術ブログ【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

元にするスプライトをコピーして使い回す



アイテムの出現する条件を決めましたので、まずは元あった
りんご スプライトをコピーして、スプライト名を スイカ に変更しておきます。

合同会社タコスキングダム|蛸壺の技術ブログ


とりあえずスイカのスプライトを選択モードで画面に現れるように、雑に仮置きしておきます。

合同会社タコスキングダム|蛸壺の技術ブログ


たべもののスプライト(りんご・タコ・スイカ)のクリックされた時のブロックが長くなったきたので、共通部分を
定義ブロック でくくり出します。
各スプライトにこの定義ブロックをコピーして使い回すことで、今後食べ物の種類を増やしても、定義ブロックの引数(スプライトの名前)を変えるだけで済みます。

合同会社タコスキングダム|蛸壺の技術ブログ

合同会社タコスキングダム|蛸壺の技術ブログ【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

条件を満たした時にだけ表示させる



コピーした直後の
スイカ スプライトはそのままだとゲーム開始から表示されてしまいます。
そこで、
たべたりんご のスコアと たべたタコ のスコアを使って、以下のようにブロックを修正します。

合同会社タコスキングダム|蛸壺の技術ブログ
もし〜なら ブロックを利用することで、食べ物選択画面に りんご5個とタコ3個でスイカが出現 ができるようになりました。

余談〜デバッグの方法



今回のように、変数がある条件を満たすと、ゲームの状態が変化するような機能を盛り込む場合、その条件になるまで気長に待ってはいられないと思います。
すぐに条件を満たしているか確認するには、スプライトのキャンバスに変数を代入するブロックを置いて、ゲームをスタート後の好きなタイミングでそのブロックをクリックすると良いでしょう。

合同会社タコスキングダム|蛸壺の技術ブログ

合同会社タコスキングダム|蛸壺の技術ブログ【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

エサ置き場にスイカを置く



このままではスイカを選んでも皿の上におけないので、エサ置き場のブロックコードを手直ししていきます。

おきばしょ1 から おきばしょ5 までのエサ置き場のスプライトに、新たに スイカ のコスチュームを追加します。

合同会社タコスキングダム|蛸壺の技術ブログ


また各エサ置き場のブロックコードで、
たべもの#? のメッセージイベントのブロックへ、スイカのコスチュームになるように、それぞれ修正します。
下の図は例として
たべもの1? のブロックの部分の修正を行ったときのものです。

合同会社タコスキングダム|蛸壺の技術ブログ


他の
たべもの2? から たべもの5? の各イベントにも同じように修正してください。
これでエサ置き場にスイカを置けるようになりました。

合同会社タコスキングダム|蛸壺の技術ブログ

合同会社タコスキングダム|蛸壺の技術ブログ【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

スコアボードにスイカを追加する



スイカは追加できるようになりましたが、スコアボードに食べたスイカの数を表示できるようになっていないので、プログラムを変えていきます。
まず
りんごのかずタコのかず スプライトをコピーして、 スイカのかず を作成します。

合同会社タコスキングダム|蛸壺の技術ブログ


このスプライトのコスチュームをスイカの画像に変えて、コスチューム名を
スイカ に直します。
その後、大体の位置でよいのでスコアボード上に配置させておきます。
では、
スイカのかず のスプライトのブロックコードも修正します。
コピーしたブロックの中で、食べ物の名前の付いた変数やイベント名をすべて
スイカ の付くものに取り替えます。

合同会社タコスキングダム|蛸壺の技術ブログ


後は、
スコアボード スプライトのブロックコードを修正して、スイカを食べたときの得点の付け方を追加します。
ゲーム開始時の変数
たべたスイカ を初期化し、 たべた1 から たべた5 までのメッセージイベントのブロックに、スイカを食べたときの処理を追加します。

合同会社タコスキングダム|蛸壺の技術ブログ


なお、スイカの得点は+20と設定しています。

スプライトの位置の微調整



先程までは、
スイカのかず スプライトの位置を大体の場所に表示していましたが、ちょうどいい位置決めを行いたい場合、スプライトの表示位置の設定はゲームを走らせながら、x座標とy座標を調整するのがよいと思います。

合同会社タコスキングダム|蛸壺の技術ブログ

合同会社タコスキングダム|蛸壺の技術ブログ【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

条件を満たしたときにスコアボードに表示する



最後にスコアボードに
スイカのかず スプライトを表示するタイミングを上で説明したように、 たべたリンゴ5個以上 かつ たべたタコ3個以上 の条件で、 もし〜なら ブロックを使って処理を囲みます。

合同会社タコスキングダム|蛸壺の技術ブログ


これで条件を満たさない場合には、
スイカのかず スプライトはスコアボードから隠れているようにすることができました。

合同会社タコスキングダム|蛸壺の技術ブログ


以上で、エサ場における食べ物の種類が増やすことが可能となりました。
スイカを出すまでの機能を盛り込んだプログラムは
ココ から利用できますので、これまでの内容で疑問があったら参考ください。

おまけの機能〜得点の表示



食べ物の種類も増えたので、選択画面に表示される食べ物の下に各得点を表示できるようにしました。

合同会社タコスキングダム|蛸壺の技術ブログ


これで食べ物が何点入るかをプレイヤーに教えることができます。


合同会社タコスキングダム|蛸壺の技術ブログ【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

まとめ



今回はゲーム中のパラメータで達成条件を設定して、アイテムのスプライトを変化させていく方法について解説してみました。
この記事中で解説したのはスイカの追加だけでしたが、冒頭で紹介していたプログラムは更に食べ物の種類を追加しておりますので、ぜひ動かしてみてどんな食べ物が追加されているかチェックしてみてください。