#============================================================================== # 「画像背景メッセージ」(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