スクリーンショット_2018-11-06_15

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

ポケモンぽいゲーム「PachiMon」の制作過程、第3回はバトル画面で自分のキャラ(以降mpm)のパラメータを表示するところまでを解説します(*mpmはMyPachiMonの頭文字です)。

Scratch上ではPachiMon-2が今回のnoteの内容です。現在はPachiMon-9まで制作が進んでいるんですが、表示速度が遅くなるというバグの修正ができず止まっています。ですので、とりあえずこれまでの制作過程を先にシェアしていこうと思っています。


PachiMon-2の内容

実際に自分の目で確かめながらやるとわかりやすいと思うので、こちら(PachiMon-2)を見つつ確かめてみてください(PC推奨)。

PachiMon-1からの追加内容は主に以下の内容です。

・バトルになったらmpmの名前を表示する
・バトルになったらmpmのレベルを表示する
・バトルになったらmpmのHPを表示する


パラメータと言ってもデータを使った表示ではなくて、とりあえずスプライト(見た目)をそれっぽくしただけです。データも同時に実装すると大変そうだったのでそうしました。

mpmやepm(EnemyPachiMon)については変更はありません。


完成するとこんな感じになります。


ちなみに前回(PachiMon-1)まではこんな感じでした。


バトルになったらmpmの名前を表示する

上記1枚目の画像の右下に表示されている「MyPachiMon」というところがmpmの名前です。

名前を表示するためのスプライトを用意して、play_mode=battleになったら表示するようにしてあります。「mpm-stats-y-coodinate-〇〇」や「mpm-stats-x-coordinate-〇〇-digit」の部分は名前を表示する座標を指定する部分です。こうすることで毎回、座標を数値で指定せずに変数ブロックをはめるだけでいいので作業が減ります。

コスチュームのところを見ると「MyPachiMon」というコスチュームだけあるのがわかると思います。これはとりあえず表示の確認をするために用意したダミーの名前です。ですので、この段階ではPachiMonごとに表示する名前を変えることはできません。


バトルになったらmpmのレベル、HPを表示する

レベルの表示とHPの表示は基本的に同じなのでまとめて説明します。

まず緑色のHPバーの部分ですが、ここもコスチュームでHPMaxの状態のものだけを用意して表示しています。HPバーの増減を表現する部分はあとで作ります。

HPという文字や900/900の「/」の部分も同じで取り合えず見た目だけ作ってあります。この部分はバトル中に変化することはないので特に難しいところはないですね。


Lv:100や900/900の部分は各桁の数字それぞれについてスプライトを用意しました。ここは少し悩んだところです。

バトル中にダメージを食らったり回復したりするとHPの値は変化します。mpmによってもHPの値は異なるのでそれを表現するにはどうしたらいいかを考えました。

結論としてmpm-hpのようなHPを格納しておく変数を用意してその値に応じてコスチュームを変えることにしました。

mpm-hpの各桁の数値は「演算」ブロックにある「1番目(123)の文字」で取得できます(以下の画像参照)。

この場合は「1」が取得できます。

今回はこの部分については作ってないので細かい説明は省略します。PachiMon-3で詳しく解説します。


第3回はここまでです。質問があればnoteのコメント欄にお願いします。どんな質問でも遠慮せずにしてくださいね。他の読者の方の参考にもなるので。

質問is正義!

このnoteはシリーズをまとめてマガジンに登録してあります。シリーズの他の記事を読みたい方はマガジンもご覧ください。

マガジン:Scratchでポケモンぽいゲームを作る制作過程

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