見出し画像

続:pyxelでRPG風のものを作る(8)

さて、ずいぶん長いこと続いているこのシリーズですが、まだまだ続きます。前回武器持ち替えの仕組みを作ったので、今回は細かい調整をしてβ2バージョンとしてitch.coに載せてみようと思います。

前回までの進行具合は以下のnoteをご参照ください。

新しいマップもできたし、敵も追加したし、これで良いかなと思っていたんですが、ちょっと描画廻りがさみしい。あんまりにもエフェクトとかがないだろうということで、マップ移動の際の視覚効果を作ってみました。

 def Map_Change_EF(self):
   self.map_ch_cn += 6
   if self.map_ch_fl == 1: 
       n = self.map_ch_cn
       pyxel.clip(64-n, 64-n, 0+n*2, 0+n*2)
       if self.map_ch_cn > 70:
           self.map_ch_fl = 0
           self.map_ch_cn = 0
           pyxel.clip()

▲こんな感じでマップ移動時に呼び出すMap_Change_EF関数を作りました。マップ移動の際にフラグとなるself.map_ch_flを1にしておくことでエフェクトを描画します。

エフェクト描画のメインはpyxel.clip(64-n, 64-n, 0+n*2, 0+n*2)の部分。clipは画面の描画範囲を変更できるので、これを使います。変数nは6ずつ増えていくようにしています。例えばnが6の場合はpyxel.clip(58, 58, 12, 12)となり、この部分は「描画範囲を座標(58,58)から縦横12にする」という意味になります。nが12になるとpyxel.clip(52, 52, 24, 24)となり「描画範囲を座標(52,52)から縦横24にする」となり、描画範囲が増えます。これを繰り返すことで画面がだんだん開けてくるエフェクトとしています。
実際の画面は以下のようになっています。

画像1

▲マップが切り替わるとエフェクトが発生するようになりました。

あとはアイテム購入の際に何回買っても売り切れにならないバグがあったので、それを修正して、exeにします。pyxel付属の「Pyxel Packager」を使いました。

▲まだまだ作りかけですが、よろしければ遊んでやってください。

コードやpyxresファイル、モジュールファイルはGitHubの方に置いてあります。

ここまで読んでいただきありがとうございました。

ここまで読んでいただきありがとうございます!