点睛集積 > 記録記事 > RPGツクール200X > ピクチャー無使用ドット単位移動&スクロール
サンプル

15/10/18 
とりあえず動くものをうp
□ARPGの骨II 〜ピクチャーを使用しないドット単位移動&スクロール〜

解説
RPGツクール2000が発売されてから約15年。

RPGツクールのメインストリームが後発のツクールに移行して久しいですが、 現在までに制作されたツクール2000/2003作品の傾向では、 ドット単位移動を実現したい場合はピクチャーを使用して行うのが 常識と言えるかと思います。
しかし、主人公等にピクチャーを使用すると幾つか制約がでてきます。
  • ピクチャーは同時使用枚数に限りがあるのでやりくりが難しい
  • 必ずマップチップやイベントより上に表示されてしまうので、 障害物に隠れる表現が難しい
  • スクロールはマス単位なのでぎこちなくなってしまう
大体こんなところでしょうか。
今回のサンプルでは、いっそのことピクチャーを一切使用しないで ドット単位移動を実現することにより、これらの制約をクリアーしています。


ここまで読むと、革命的な素晴らしいシステムと思われるかもしれませんが、 正直なところ「そんな美味い話はないです。」
  • 1キャラにつきイベント2個必要、表示画像の設定にもコマンド命令の編集が2倍必要
  • 1フレームでもずれるとシステムが破綻する為、場所移動等が使用しづらい
  • 大きいキャラは分割して表示する必要がある
  • 使用するイベントNoが決まっている為、イベントの管理が面倒
難点をざっと挙げただけでこれだけあります。
はっきり言って素直にピクチャーで実装した方が楽なんじゃないでしょうか。

通常のマス単位移動と任意に切り替えできると便利だと思うんですが、 それを実現するにも一苦労しそうです。
とりあえず、こんな制約のキツいシステムで一作ツクる気にはならないです(ぉ

でもドット単位スクロールだけはアクションゲーム等をツクるときに役に立つかもしれません。

このサンプルの存在がRPGツクール2000/2003の更なる理解に繋がることを ささやかながら期待してこのサンプル作品を納めます。

どうやって実現しているか?
このシステムの仕組みについて大まかに箇条書きすると、
  • イベントや乗り物の位置設定と動作指定を毎フレーム入れることで 「移動開始直後の1フレーム分だけずれた状態」を継続して表示する
  • ずれるドット数は基本的に動作指定のジャンプの距離によって制御を行う
  • 主人公本体は透明な小型船に乗せ、スクロール位置の調節に利用
  • 見た目上の主人公グラフィックは大型船と飛行船の表示を1フレーム毎に切り替えて 表示している
  • 主人公の影グラフィックはマップイベントを2枚使用して、同じように 1フレーム毎に切り替えて表示
  • 主人公攻撃時のグラフィックも大型船&飛行船の他、 マップイベントを2枚使用して表示
こんなところです。
細かい説明は今後のやる気によってやるかもしれません。