#==============================================================================
# Relocated Pause Graphic
# by: Racheal
# Version 1.0
# Created: 11/11/2013
#==============================================================================
# Replicates the pause graphic in Window_Message to allow for repositioning
#==============================================================================
# Instructions:
# * Insert in the Materials section
# * Configure to your liking below
#~ 介紹
#~ 厭倦了暫停圖形總是在消息窗口的中間? 此腳本重新創建暫停圖形,
#~ 允許您將其移動到任何您想要的位置。 該腳本默認為將圖形放在右側,但它很容易更改。
#~ 特徵
#~ - 從默認中心位置移動暫停圖形。
#~ 如何使用
#~ - 插入腳本編輯器的材料部分,然後根據需要配置選項。
#==============================================================================
#==============================================================================
# Customization
#==============================================================================
module Racheal_Move_Pause
#Set the position of the pause graphic. :left, :center, and :right supported
POSITION = :right
#Set fine tuning of position here
X_OFFSET = 12
Y_OFFSET = 4
end
#==============================================================================
# End Customization
#==============================================================================
class Window_Message < Window_Base
#--------------------------------------------------------------------------
# * Alias: Initialize
#--------------------------------------------------------------------------
alias move_pause_graphic_initialize initialize
def initialize
move_pause_graphic_initialize
make_pause_sprite
end
#--------------------------------------------------------------------------
# * Alias: Dispose
#--------------------------------------------------------------------------
alias move_pause_graphic_dispose dispose
def dispose
move_pause_graphic_dispose
@pause_sprite.dispose
end
#--------------------------------------------------------------------------
# * Make Pause Sprite
#--------------------------------------------------------------------------
def make_pause_sprite
@pause_sprite = Sprite.new
@pause_sprite.bitmap = self.windowskin
@pause_sprite.src_rect = Rect.new(96, 64, 16, 16)
@pause_sprite.z = self.z + 10
@pause_sprite.visible = false
end
#--------------------------------------------------------------------------
# * Alias: Update
#--------------------------------------------------------------------------
alias move_pause_graphic_update update
def update
move_pause_graphic_update
update_pause_sprite if @pause_sprite.visible
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update_pause_sprite
frame = Graphics.frame_count % 60 / 15
@pause_sprite.src_rect.x = 96 + 16 * (frame % 2)
@pause_sprite.src_rect.y = 64 + 16 * (frame / 2)
end
#--------------------------------------------------------------------------
# * Overwrite: Set Pause
#--------------------------------------------------------------------------
def pause=(pause)
if pause
case Racheal_Move_Pause::pOSITION
when :left
@pause_sprite.x = self.x + padding + Racheal_Move_Pause::X_OFFSET
when :center
@pause_sprite.x = self.x + self.width / 2 + Racheal_Move_Pause::X_OFFSET
when :right
@pause_sprite.x = self.x + self.width - padding - Racheal_Move_Pause::X_OFFSET
end
@pause_sprite.y = self.y + self.height - padding - Racheal_Move_Pause::Y_OFFSET
end
@pause_sprite.visible = pause
end
end