自分は遠景でマップを作りたいと思い
1つ目の遠景は従来の方法で出来る通り、キャラクターの下に表示させ
2つ目の遠景をキャラクターに重なるように表示させたいのですが、そういったやり方やスクリプトはありませんでしょうか?
RPGMVにはプラグインで可能らしいのですが、アニメーションやドット絵の流用、XP風バトルが使えないので
手を出せず、RPGVXを使い続けています。
可能な限り調べてみた結果、それらしいものがなかったので
やはりRPGVXでやるのは厳しいでしょうか?
※解決済み※【RGSS2】RPGVXで遠景を二つ表示させる方法について
※解決済み※【RGSS2】RPGVXで遠景を二つ表示させる方法について
最後に編集したユーザー Liberum [ 2020年5月18日(月) 16:16 ], 累計 1 回
Re: 【RGSS2】RPGVXで遠景を二つ表示させる方法について
遠景と同じものをもう一つ作ってそれを手前に表示するようにして
必要なら遠景とそれの視差を0にすればいいかと思います。
すごいやっつけですけどこんな感じです。
必要なら遠景とそれの視差を0にすればいいかと思います。
すごいやっつけですけどこんな感じです。
コード: 全て選択
module CLOSE_VIEW_SETTING
=begin
マップの近景の設定
CLOSE_VIEW_NAMES[マップID] = 近景画像名
の形で設定してください
近景の画像はGraphics/Parallaxesに入れてください
手抜き仕様なのでループとか自動スクロールは遠景と同じになります
=end
CLOSE_VIEW_NAMES = {}#消さない!
CLOSE_VIEW_NAMES[3] = "BlueSky"
=begin
近景のZ座標の設定
=end
CLOSE_VIEW_Z = 201
=begin
遠景/近景を視差0にするマップの設定
ZERO_MAPに遠景/近景を視差0にしたいマップIDを追加してください
=end
ZERO_MAP = []#消さない!
ZERO_MAP << 3
end
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
# マップを扱うクラスです。スクロールや通行可能判定などの機能を持っています。
# このクラスのインスタンスは $game_map で参照されます。
#==============================================================================
class Game_Map
include CLOSE_VIEW_SETTING
attr_accessor :close_view_name
#--------------------------------------------------------------------------
# ● 遠景のセットアップ
#--------------------------------------------------------------------------
alias close_view_setup_parallax setup_parallax
def setup_parallax
close_view_setup_parallax
@close_view_name = CLOSE_VIEW_NAMES[@map_id] || ""
end
#--------------------------------------------------------------------------
# ● 遠景表示 X 座標の計算
# bitmap : 遠景ビットマップ
#--------------------------------------------------------------------------
alias zero_calc_parallax_x calc_parallax_x
def calc_parallax_x(bitmap)
return @display_x / 8 if parallax_zero_map?
zero_calc_parallax_x(bitmap)
end
#--------------------------------------------------------------------------
# ● 遠景表示 Y 座標の計算
# bitmap : 遠景ビットマップ
#--------------------------------------------------------------------------
alias zero_calc_parallax_y calc_parallax_y
def calc_parallax_y(bitmap)
return @display_y / 8 if parallax_zero_map?
zero_calc_parallax_y(bitmap)
end
#--------------------------------------------------------------------------
# ● 遠景/近景の視差0のマップか
#--------------------------------------------------------------------------
def parallax_zero_map?
ZERO_MAP.include?(@map_id)
end
end
#==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
# マップ画面のスプライトやタイルマップなどをまとめたクラスです。このクラスは
# Scene_Map クラスの内部で使用されます。
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# ● 遠景の作成
#--------------------------------------------------------------------------
alias close_view_create_parallax create_parallax
def create_parallax
close_view_create_parallax
@close_view = Plane.new(@viewport1)
@close_view.z = CLOSE_VIEW_SETTING::CLOSE_VIEW_Z
end
#--------------------------------------------------------------------------
# ● 遠景の解放
#--------------------------------------------------------------------------
alias close_view_dispose_parallax dispose_parallax
def dispose_parallax
close_view_dispose_parallax
@close_view.dispose
end
#--------------------------------------------------------------------------
# ● 遠景の更新
#--------------------------------------------------------------------------
alias close_view_update_parallax update_parallax
def update_parallax
close_view_update_parallax
update_close_view
end
#--------------------------------------------------------------------------
# ● 近景の更新
#--------------------------------------------------------------------------
def update_close_view
if @close_view_name != $game_map.close_view_name
@close_view_name = $game_map.close_view_name
if @close_view.bitmap != nil
@close_view.bitmap.dispose
@close_view.bitmap = nil
end
if @close_view_name != ""
@close_view.bitmap = Cache.parallax(@close_view_name)
end
Graphics.frame_reset
end
@close_view.ox = $game_map.calc_parallax_x(@close_view.bitmap)
@close_view.oy = $game_map.calc_parallax_y(@close_view.bitmap)
end
end
Re: 【RGSS2】RPGVXで遠景を二つ表示させる方法について
ありがとうございます!まさに理想の形に出来ることが出来ました!