rebf-gaiden/Scripts/_.40.rb
2025-04-26 17:06:34 -05:00

110 lines
No EOL
4.6 KiB
Ruby

module BATTLE_BACK_MAP
# ここで指定したスイッチがオンになっていれば、
# デフォルト通りの画像を使用した背景になります。
SWITCH = 143
end
#==============================================================================
# ■ SideViewアクション設定 Ver100
#------------------------------------------------------------------------------
#  サイドビューバトル全般のセッティングやアクションを作成します
#==============================================================================
module N03
#--------------------------------------------------------------------------
# ● 戦闘背景セッティング 背景の座標調整や拡大率を設定します
#--------------------------------------------------------------------------
#マップを背景にするときの設定
#"マップ2"は透明な画像なので実際には見えません。
#――壁背景ファイル名――― 座標調整 拡大率 シェイク可 スイッチトリガー
FLOOR1_DATA["マップ1"] = [ [ 0, 0], [ 100, 100], true, 0]
FLOOR2_DATA["マップ2"] = [ [ 0, 0], [ 100, 100], true, 0]
end
#==============================================================================
# ■ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# ● 戦闘背景(床)ビットマップの取得
#--------------------------------------------------------------------------
def battleback1_bitmap
if $game_switches[BATTLE_BACK_MAP::SWITCH]
Cache.battleback1(battleback1_name)
else
create_blurry_background_bitmap
end
end
#--------------------------------------------------------------------------
# ● 戦闘背景(壁)ビットマップの取得
#--------------------------------------------------------------------------
def battleback2_bitmap
if $game_switches[BATTLE_BACK_MAP::SWITCH]
Cache.battleback2(battleback2_name)
else
Bitmap.new(640, 480)
end
end
#--------------------------------------------------------------------------
# ● マップ画面を加工した戦闘背景用ビットマップの作成
#--------------------------------------------------------------------------
def create_blurry_background_bitmap
source = SceneManager.background_bitmap
bitmap = Bitmap.new(640, 480)
bitmap.stretch_blt(bitmap.rect, source, source.rect)
bitmap
end
end
#==============================================================================
# ■ SceneManager
#==============================================================================
module SceneManager
#--------------------------------------------------------------------------
# ● 背景として使うためのスナップショット作成
#--------------------------------------------------------------------------
def self.snapshot_for_background
@background_bitmap.dispose if @background_bitmap
@background_bitmap = Graphics.snap_to_bitmap
end
end
#==============================================================================
# ■ Sprite_Battle_Back
#------------------------------------------------------------------------------
#  戦闘背景用のスプライトです。
#==============================================================================
class Sprite_Battle_Back < Plane
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize(viewport = nil, index, battleback_name)
super(viewport)
@index = index
if @index == 1
name = $game_switches[BATTLE_BACK_MAP::SWITCH] ? battleback_name : "マップ1"
data = N03::FLOOR1_DATA[name]
data = N03::FLOOR1_DATA["全Battlebacks1"] if data == nil
elsif @index == 2
name = $game_switches[BATTLE_BACK_MAP::SWITCH] ? battleback_name : "マップ2"
data = N03::FLOOR2_DATA[name]
data = N03::FLOOR2_DATA["全Battlebacks2"] if data == nil
end
data = data.dup
@adjust_position = data[0]
@zoom_x = data[1][0] / 100.0
@zoom_y = data[1][1] / 100.0
@shake_on = data[2]
$game_switches[data[3]] = true if data[3] > 0
$sv_camera.switches[data[3].abs] = true if data[3] < 0
reset_scroll
reset_back_data(battleback_name)
end
end