加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 流浪杰哥 于 2019-6-18 21:40 编辑
#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
#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
从MOG的脚本中取出了一段关于动态血条的描绘方法,想在Window_MenuStatus中描画出动态血条来,血条是出来了,是动态的,但是只描画了一个角色的血条,也不知道我的方式哪里有问题,附件中有详细的脚本,还请大佬指点一二呗
|