#==============================================================================
# 「画像背景メッセージ」(ACE) Ver.1.0
# 製作者:奈々(なな)
# へぷたなすくろーる http://heptanas.mamagoto.com/
#
# ◇使用規約
# 使用される場合はスクリプト作成者として「奈々」を明記して下さい。
# スクリプトの改変は自由に行って頂いて構いませんが
# その場合も元のスクリプトの作成者として名前を載せて下さい。
# また配布前に必ず、ブログにある利用規約を確認して下さい。
#
#------------------------------------------------------------------------------
#
# 「文章の表示」のメッセージウィンドウの背景に画像を表示します。
# これにより、画像を用意するだけで簡単にオリジナルのメッセージが作れます。
#
# 使い方は、まずGraphics > Systemフォルダに画像ファイルを入れます。
#
# 次にイベントコマンドの「スクリプト」で
# pict_back_mes("ファイル名", 番号)
# と設定します。
#
# ファイル名を無し("")にすると
# 背景画像の設定がリセットされます。
# 通常のウィンドウに戻したいときに使います。
#
# 番号は、「文章の表示」の背景に対応しています。
# 0: 通常ウィンドウ 1: 暗くする 2:透明にする
# これにより、複数の背景画像を簡単に切り替えできます。
#
# 設定後、「文章の表示」を行うと
# 設定した背景画像を使ったメッセージが表示されます。
#
#==============================================================================
#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
# システム周りのデータを扱うクラスです。セーブやメニューの禁止状態などを保存
# します。このクラスのインスタンスは $game_system で参照されます。
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :pict_back_mes0 # メッセージ背景ピクチャ(通常)
attr_accessor :pict_back_mes1 # メッセージ背景ピクチャ(暗く)
attr_accessor :pict_back_mes2 # メッセージ背景ピクチャ(透明)
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias initialize_pbm initialize
def initialize
initialize_pbm
@pict_back_mes0 = ""
@pict_back_mes1 = ""
@pict_back_mes2 = ""
end
end
#==============================================================================
# ■ Window_Message
#------------------------------------------------------------------------------
# 文章表示に使うメッセージウィンドウです。
#==============================================================================
class Window_Message < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias initialize_pbm initialize
def initialize
initialize_pbm
create_back_picture
end
#--------------------------------------------------------------------------
# ● 背景画像の作成
#--------------------------------------------------------------------------
def create_back_picture
@back_picture = Sprite.new
@back_picture.bitmap = Bitmap.new(1, 1)
@back_picture.visible = true
@back_picture.z = z - 1
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias update_pbm update
def update
update_pbm
update_back_picture
end
#--------------------------------------------------------------------------
# ● 背景画像の更新
#--------------------------------------------------------------------------
def update_back_picture
case @background
when 0
if $game_system.pict_back_mes0 == ""
@back_picture.bitmap = Bitmap.new(1, 1)
else
@back_picture.bitmap = Cache.system($game_system.pict_back_mes0)
end
when 1
if $game_system.pict_back_mes1 == ""
@back_picture.bitmap = Bitmap.new(1, 1)
else
@back_picture.bitmap = Cache.system($game_system.pict_back_mes1)
end
when 2
if $game_system.pict_back_mes2 == ""
@back_picture.bitmap = Bitmap.new(1, 1)
else
@back_picture.bitmap = Cache.system($game_system.pict_back_mes2)
end
end
@back_picture.y = y
@back_picture.opacity = openness
@back_picture.update
end
#--------------------------------------------------------------------------
# ● 背景スプライトの更新
#--------------------------------------------------------------------------
def update_back_sprite
@back_sprite.visible = (@background == 1 && $game_system.pict_back_mes1 == "")
@back_sprite.y = y
@back_sprite.opacity = openness
@back_sprite.update
end
#--------------------------------------------------------------------------
# ● ウィンドウ背景の更新
#--------------------------------------------------------------------------
def update_background
@background = $game_message.background
self.opacity = @background == 0 && $game_system.pict_back_mes0 == "" ? 255 : 0
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
alias dispose_pbm dispose
def dispose
dispose_pbm
dispose_back_bitmap
end
#--------------------------------------------------------------------------
# ● 背景画像の解放
#--------------------------------------------------------------------------
def dispose_back_bitmap
@back_picture.dispose
end
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
# イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ● 画像背景メッセージの設定
#--------------------------------------------------------------------------
def pict_back_mes(filename = "", number = 0)
case number
when 0
$game_system.pict_back_mes0 = filename
when 1
$game_system.pict_back_mes1 = filename
when 2
$game_system.pict_back_mes2 = filename
end
end
end