【Scratchで簡単なゲーム作成編⑧】条件を満たした時のスプライトの進化状態を追加する


※ 当ページには【広告/PR】を含む場合があります。
2020/11/06
【Scratchで簡単なゲーム作成編⑦】ゲーム終了画面を実装する
【Scratchで簡単なゲーム作成編⑨】オープニング画面・ゲームステージを追加してみる

さて連載で簡単なゲームの大まかな作り込みのポイントを特集してきた内容でやってきました。

合同会社タコスキングダム|タコキンのPスクール
【Scratchで簡単なゲーム作成編⑦】ゲーム終了画面を実装する

Scratchゲームのゲームオーバーやエンディングなど、終わらせ方を考えていきます。

簡単なScratchゲームを作るつもりで書いていたこの記事も第8回になります。

当初は簡単なプログラミングを想定していたのですが、回を重ねるごとになかなか歯応えのある内容になってしまいました。

今回は、条件を満たした時のスプライトの入れ替え...いわゆるキャラクターの進化を行わせる方法を検討してみます。

では
前回の記事の内容からプログラムを改造しながら解説していきます。

また、例のようにこの記事で作成した完成後のプログラムは
ここに置いてあります。

直リンのプログラムは以下です。


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

スプライトを作成

まずは進化後のスプライト用のコスチュームを作成します。

基本的にはスクラッチのコスチュームお絵かきツールを使って自分で絵を描いていくスタイルです。

プログラミングの勉強とは関係ないのですが、もし絵を書くことに自信がないという方はフリーの画像を利用させていただく方法もあります。

ただし無料で利用はできるといっても、提供されてる利用規約をきちんとよく読み理解して使用しないと、スクラッチでアプリを公開してしまったら規約違反になる恐れもあります。

いろいろな商用・権利の問題をはらむ画像のライセンスが複雑になりつつあるご時世ですので、出来るだけ絵は自分で描いて用意する方が後々好ましいのかもしれません。

さて今回はベースとなるタコのベクター画像を改造して、以下の3種類を準備しました。

進化というくらいなので、普通のタコの動きと比べて素早く動き回ったり、一回の移動範囲が広くなったりできるように、大体のスプライトの動作の構想も考えておきます。

合同会社タコスキングダム|タコキンのPスクール

            
            進化①: タコ男爵
食べる射程範囲:★★☆
動きの広さ:★★☆
素速さ:★☆☆
進化条件:
    りんご15個 + タコ15個以上を食べる
        

合同会社タコスキングダム|タコキンのPスクール

            
            進化②: 空飛ぶタコ
食べる射程範囲:★★★
動きの広さ:★★★
素速さ:★☆☆
進化条件:
    りんご22個 + タコ22個 + スイカ15個以上を食べる
        

合同会社タコスキングダム|タコキンのPスクール

            
            進化③: タコたぬき
食べる射程範囲:★☆☆
動きの広さ:★★☆
素速さ:★★★
進化条件:
    りんご25個 + タコ25個 + スイカ22個 + ドーナツ15個以上を食べる
        
この他に動いているときのアニメーション用コスチュームも作成する必要があります。

アニメーションに関しては
以前のこちらの記事の内容を確認してください。

合同会社タコスキングダム|タコキンのPスクール
【Scratch入門】コスチュームを変えてスプライトのアニメーション効果を付ける

Scratchでスプライトを移動させる時にコスチューム番号をずらしてアニメーションで動かす方法を解説します。

たこのスプライトに出来上がったコスチューム画像を以下の画像のように名前を付けておきます。

合同会社タコスキングダム|タコキンのPスクール


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

コーディングのポイント

では条件ごとにコスチュームを変える(進化させる)ようにプログラムを修正します。

まずは
たこのスプライトに先程考えた進化の条件判定を行う定義ブロックのしんかじょうけんを作成します。

合同会社タコスキングダム|タコキンのPスクール

ここでの
コスチューム?_はローカル変数で定義しています。

コスチューム?_が0のときには普通のコスチューム、この変数が1、2、3...と増えると別のコスチューム(進化状態)に割り当てて利用しています。

続いて、進化後のたこの動きを変化してみるようにパラメータを調整します。

以下は一例ですが、通常のたこの動きを定義していた定義ブロック
タコのうごきを複製して、別の進化状態用にタコのうごき2という定義ブロックを作成します。複製後のブロックのなかのパラメータで、繰り返しの数を増やすことで移動する範囲が広くなったり、待ち時間を少なくすることで素早く動くスプライトに仕上げます。

合同会社タコスキングダム|タコキンのPスクール

各進化状態にこの定義ブロックを作成しますので、
タコのうごき3タコのうごき4というのも別に作成しておきます。

それではゲームプレイの処理内へ、先程作成しておいた
しんかじょうけんブロックと、うごきせんたくというコスチューム?_の値から動きを変化させる定義ブロックを入れ替えます。

合同会社タコスキングダム|タコキンのPスクール

これでゲーム中に満たした条件に応じて、コスチュームが変化するようなプログラムになりました。


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

まとめ

今回でひと通りの練習用に説明してきました『たこすいっしゅ』というゲームの作成過程の内容は、この記事の内容でほぼ終了です。

もしひと通り今回の解説記事を通してやり遂げられた人がいらっしゃるなら、なかなかのハイレベルなスクラッチゲームを作れてしまう実力があると思います。

スクラッチに限らず他の全てのプログラミング言語にも言えることですが、学習を深めれば深めるほど自分の知らない知識や考え方があることが分かってくると思います。

全てを極めることはできませんので、自分のやれることからコツコツと勉強を続け、さらに面白いゲームやプログラムを目指して、プログラミングの知識を深めていってください。

なお、
こちらの記事でたこすいっしゅのゲームが試せるようにしてありますが、新しい機能やステージを増やしていくなどこれからも随時更新していきます。

合同会社タコスキングダム|タコキンのPスクール
【アプリ・リリースノート】タコが泳ぐ&食べる〜『たこすぃっしゅ!』まとめ

不定期ながら開発中のScratch・ミニゲーム『たこすぃっしゅ!』のリリースノートです。

よろしければ時おり覗いてみてプレイしてみていただくと、どこかしら違うところがあるかも知れません。

記事を書いた人

記事の担当:taconocat

ナンデモ系エンジニア

これからの"地方格差"なきプログラミング教育とは何かを考えながら、 地方密着型プログラミング学習関連テーマの記事を不定期で独自にブログ発信しています。

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