枯れ井戸すこっぷ 2023/08/14 18:14

マップの境目のこと

体験版で戦える最後にしようと思っている、ボスキャラの女王様です。
女王だけど温和で元は貴族の未亡人という、よく分からない設定です。
体験版は20日ぐらいに申請できる……といいかな……


ここまでは建前で、今回は誰も聞いてないけどマップの境目の話をします。
今さらRPGツクールVxAceのスクリプトを知りたい人はいないと思うので、なるべく汎用的な概念を話せればと思います。

ツクールには、マップをループさせる設定があります。
幅30のマップだとX座標(横軸)がこんな感じで29まであって、内部的には次で0になります。
で、ここから右に3歩進もうとすると座標0になります。


座標0は遥か左側なので、そうすると左に行こうとします。
内部的にはマップの29から奥は存在しないわけです。
なのでVxAceの一歩進むという処理には、マップの幅の半分(今回なら15)より離れたところに行こうとするなら逆側へ向かえという処理が入っていて、それでなんとかしてます。


といった感じになります。
他にも、たとえば前方2マス先から2マス幅にいる敵に攻撃するという処理をさせる場合。


30を越えることになると、この30はマップ幅30で割って0として扱う。という処理をかけて補正することになります。
この補正処理は最初からVxAceにあり、$game_map.round_x()で出来ます。
マップ上であーだこーだする場合、この補正をめっちゃすることになるので誰かに伝えたい…ってなるのです。
ちなみにこの赤いところを出すのは、座標(29,0)(29,1)(29,2)(30,0)(30,1)(30,2)という数字を作って、それらを1マスずつ塗りつぶしています。
実際に攻撃する際は、それらの座標にいるイベントを探して適用する感じです。

今さらですが、この記事はプログラムなんて分からんって人がふーんって読めるようなものを目指しています。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

限定特典から探す

記事を検索