#==============================================================================
# ■ ウィンドウの背景を画像で描画 β By 貪藻矢射妥←
#
# ウィンドウをウィンドウスキンではなく、画像で描画します。
#
# ○使用方法
# Window_○○ の initialize 処理にて
#
# make_bg([file name], [透明度])
#
# を記載するだけ
#
# ※背景画像はWindowSkinフォルダにインポートしてください。
#
#==============================================================================
# 更新っぽいもの
# まだなし
$OuterFlgs = {} if $OuterFlgs == nil
$OuterFlgs["Window_BG"] = true
module DIAMOND
# デフォルト透明度
DEFAULT_OPA = 160
end
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# ゲーム中のすべてのウィンドウのスーパークラスです。
#==============================================================================
class Window_Base < Window
include DIAMOND
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :bg_sprite # 背景スプライト
#--------------------------------------------------------------------------
# ● 背景作成
# file : 背景画像サイズ
# opa : 画像の透明度
#--------------------------------------------------------------------------
def make_bg(file, opa = DEFAULT_OPA)
@bg_sprite = Sprite.new
self.opacity = 0
@bg_sprite.bitmap = RPG::Cache.windowskin(file)
@bg_sprite.opacity = opa
# アップデート
update_bg
# 最初は非表示にしておく
@bg_sprite.visible = false
end
#--------------------------------------------------------------------------
# ● 背景更新
#--------------------------------------------------------------------------
def update_bg
if @bg_sprite != nil
# 親に合わせてスプライトの表示をオンオフする
@bg_sprite.visible = self.visible
# 描画位置更新
@bg_sprite.x = self.x + (self.width - @bg_sprite.bitmap.width) / 2
@bg_sprite.y = self.y
@bg_sprite.z = self.z - 1
end
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias dia_update update
def update
if @bg_sprite != nil
update_bg
end
#super
dia_update
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
alias dia_dispose dispose
def dispose
# 背景を画像にしている場合は解放
if @bg_sprite != nil
@bg_sprite.bitmap.dispose
@bg_sprite.dispose
@bg_sprite = nil
end
#super
dia_dispose
end
end
|