スクリーンショット_2018-11-07_16

Scratchでポケモンぽいゲームを作る制作過程 #3

今回はPachiMon-3の内容を解説していきます。

PachiMon-3ではmpm(自キャラ)にHPなどのパラメータを付与して、バトル画面でそのパラメータに応じて表示を切り替える部分を作成しました。

PachiMon-2からの主な追加要素は以下の通りです。

・mpm-1-〇〇(level,hpなど)という変数を作成
・数字のスプライトにmpm-1-levelなどの値に応じてコスチュームを変えるスクリプトを作成


mpm-1-〇〇という変数を作成

まずはスクリプトの「データ」というところでmpm-1-〇〇という変数を作ります。

今回作成したのはポケモンのパラメータの中で基本的なものだけです。

mpm-1-level
mpm-1-max-hp
mpm-1-hp
mpm-1-attack
mpm-1-sp-atk
mpm-1-defence
mpm-1-sp-def
mpm-1-speed

level、max-hp、hp以外は今回は必要ないので作らなくても良かったですが、あった方がそれっぽいので作りました。

また、変数名もmpm-〇〇でも良かったんですが、今後戦闘で使えるPachiMonが増えた時のことを考えてmpm-1-〇〇としました。変数名はいつでも変えられるのでそこまで気にしなくてもOKです。

「フラッグがクリックされた」直後にこの変数に基本となるパラメータを代入します。


数字のスプライトにmpm-1-levelなどの値に応じてコスチュームを変えるスクリプトを作成

*LVの100の位のスクリプト


*LVの10の位のスクリプト


レベルの表示は100の位、10の位、1の位でそれぞれスクリプトが異なります。

PachiMonのレベルは最小で1、最大で100にしたいので100の位は「1」か「表示しない」かのどちらかです。ですので、mpm-1-level=100の時は「1」を表示して、それ以外は「隠す」というスクリプトを作成しました。

10の位は少し複雑ですが、「mpm-1-level=100」「9<mpm-1-level<100」「mpm-1-level<10」の3パターンに分かれます。

変数に入っている数値は「1番目(123)の文字」というブロックで取得できるのでそれを利用します。例えばレベル100のとき、mpm-1-levelという変数に入っている10の位の数値を取り出したければ「2番目(mpm-1-level)の文字」とすればOKです。

一方でレベルが10~99の場合、10の位の数値を取得するには「1番目(mpm-1-level)の文字」とする必要があります。レベルが何桁かによって取得したい数値が「何番目」かは異なるのがポイントです。

取得できたらそれに応じてコスチュームを変更するだけです。例えばレベルの10の位のコスチューム(mpm-Lv-10)は0~9まで用意しておいて、それぞれコスチューム名も0~9にしておき、mpm-1-levelから取得した値に応じてコスチュームを変更しています。

レベルの1の位やHPに関しても同様です。


あとで気づくんですが、こんな面倒なスクリプトにしなくてもレベルやHPの数値を変化させることはできるんですよね。その方法については後々出てくるのでお楽しみに。

ということで今回はここまで。


初めましてヒロです。勉強プロデューサー/コーチ:Lv50。無人島:Lv2。サバイバル:Lv2。YouTuber:Lv1。ブログ:Lv3。Twitter:Lv5。Note:Lv2。Lvは全て自称です。