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は全て自称です。