#encoding:utf-8
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# 游戏中所有窗口的父类
#==============================================================================
class Window_Base < Window
def dispose
contents.dispose unless disposed?
super
dispose_meter#释放
end
def update
super
update_hp_meter#更新
update_tone
update_open if @opening
update_close if @closing
end
#绘制
def draw_actor_hp_meter(actor,x, y)
@meter_image = Cache.system("HP_Meter")
@meter_cw = @meter_image.width / 3
@meter_ch = @meter_image.height
@meter = Sprite.new
@meter.bitmap = Bitmap.new(@meter_cw,@meter_ch)
@meter.z = 101
@meter.x = x
@meter.y = y
@hp_flow = 0
@hp_flow_max = @meter_cw * 2
@np = actor.hp
@nnp = actor.mhp
end
def dispose_meter
return if @meter == nil
@meter.bitmap.dispose
@meter.dispose
@meter = nil
end
def update_hp_meter
return if @meter_image == nil
@meter.bitmap.clear
hp_width = @meter_cw * @np / @nnp
hp_src_rect = Rect.new(@hp_flow, 0,hp_width, @meter_ch)
@meter.bitmap.blt(0,0, @meter_image, hp_src_rect)
@hp_flow += 1
@hp_flow = 0 if @hp_flow >= @hp_flow_max
end
end