Project1
标题:
在战斗中如何显示敌人的血量
[打印本页]
作者:
1101
时间:
2011-1-24 17:04
标题:
在战斗中如何显示敌人的血量
不用脚本行不,我是新手,不会用脚本,一窍不通。求最简单的方法,我用RPGMakerXP做的游戏,我看别人的游戏中显了血条,我做的游戏敌人血多,朋友说看不见血条干着急,求方法。实在不行的话给我列举最最最简单的脚本吧........
作者:
Wind2010
时间:
2011-1-24 17:14
# ————————————————————————————————————
# 本脚本来自www.66rpg.com,转载请保留此信息
# ————————————————————————————————————
#==============================================================================
# ■ Window_Help
#------------------------------------------------------------------------------
# 重新定义的内容,可以显示敌人的HP\MP百分比
# 作者:carol3_柳柳
#==============================================================================
class Window_Help < Window_Base
def set_enemy(actor)
self.contents.clear
draw_actor_name(actor, 4, 0)
draw_actor_state(actor, 140, 0)
carol3_draw_hp_bar(actor, 380, 0)
carol3_draw_sp_bar(actor, 495, 0)
@text = nil
self.visible = true
end
def carol3_draw_hp_bar(actor, x, y, width = 100) #宽度可调
self.contents.font.color = system_color
self.contents.fill_rect(x-1, y+17, width+2,6, Color.new(0, 0, 0, 255))
w = width * actor.hp / actor.maxhp
self.contents.fill_rect(x, y+18, w,1, Color.new(255, 96, 96, 255))
self.contents.fill_rect(x, y+19, w,1, Color.new(255, 0, 0, 255))
self.contents.fill_rect(x, y+20, w,1, Color.new(128, 0, 0, 255))
self.contents.fill_rect(x, y+21, w,1, Color.new(0, 0, 0, 255))
self.contents.draw_text(x,y,128,32,$data_system.words.hp,1)
self.contents.font.color = normal_color
end
def carol3_draw_sp_bar(actor, x, y, width = 100)
self.contents.font.color = system_color
self.contents.fill_rect(x-1, y+17, width+2,6, Color.new(0, 0, 0, 255))
w = width * actor.sp / actor.maxsp
self.contents.fill_rect(x, y+18, w,1, Color.new(128, 255, 255, 255))
self.contents.fill_rect(x, y+19, w,1, Color.new(0, 255, 255, 255))
self.contents.fill_rect(x, y+20, w,1, Color.new(0, 192, 192, 255))
self.contents.fill_rect(x, y+21, w,1, Color.new(0, 128, 128, 255))
self.contents.draw_text(x,y,128,32,$data_system.words.sp,1)
self.contents.font.color = normal_color
end
end
复制代码
不要问怎么使用
作者:
1101
时间:
2011-1-24 17:54
那我就不问怎么使用......
1101于2011-1-24 18:01补充以下内容:
用了之后无法打开游戏.......
作者:
BEN10
时间:
2011-1-24 18:20
提示:
作者被禁止或删除 内容自动屏蔽
作者:
1101
时间:
2011-1-25 11:36
BEN10 发表于 2011-1-24 18:20
你打开右上角的脚本编辑器,在左边,随便找个脚本右击,再按插入,再把楼上的代码复制到你新建的那个页面就 ...
新建脚本的12行发生了TypeError.......然后就打不开游戏了
1101于2011-1-25 12:48补充以下内容:
谢谢,我现在用这个:
class Window_Help < Window_Base
def set_enemy(actor)
self.contents.clear
draw_actor_name(actor, 4, 0)
draw_actor_state(actor, 140, 0)
carol3_draw_hp_bar(actor, 284, 0)
carol3_draw_sp_bar(actor, 460, 0)
@text = nil
self.visible = true
end
def carol3_draw_hp_bar(actor, x, y, width = 128) #宽度可调
self.contents.font.color = system_color
w = width * actor.hp / [actor.maxhp,1].max
if actor.maxhp != 0
rate = actor.hp.to_f / actor.maxhp
else
rate = 0
end
color1 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 150)
self.contents.fill_rect(x+1, y+15, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+1, y+16, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+17, w,6,color1)
self.contents.fill_rect(x+1, y+23, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+24, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x-1, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+129, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+130, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.draw_text(x-53,y,128,32,$data_system.words.hp,1)
if actor.hp>actor.maxhp/3
self.contents.font.color = Color.new(255, 255, 255, 250)
end
if actor.hp>=actor.maxhp/6 and actor.maxhp/3>actor.hp
self.contents.font.color = Color.new(200, 200, 0, 255)
end
if actor.maxhp/6>actor.hp
self.contents.font.color = Color.new(200, 0, 0, 255)
end
self.contents.draw_text(x+47,y,128,32,actor.hp.to_s,1)
end
def carol3_draw_sp_bar(actor, x, y, width = 128)
self.contents.font.color = system_color
if actor.maxsp != 0
rate = actor.sp.to_f / actor.maxsp
else
rate = 0
end
color2 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
w = width * actor.sp / [actor.maxsp,1].max
self.contents.fill_rect(x+1, y+15, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+1, y+16, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+17, w,6,color2)
self.contents.fill_rect(x+1, y+23, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+24, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x-1, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+129, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+130, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.draw_text(x-53,y,128,32,$data_system.words.sp,1)
if actor.hp>actor.maxsp/3
self.contents.font.color = Color.new(255, 255, 255, 250)
end
if actor.hp>=actor.maxsp/6 and actor.maxsp/3>actor.sp
self.contents.font.color = Color.new(200, 200, 0, 255)
end
if actor.maxsp/6>actor.sp
self.contents.font.color = Color.new(200, 0, 0, 255)
end
self.contents.draw_text(x+47,y,128,32,actor.sp.to_s,1)
end
end
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1