赞 | 0 |
VIP | 47 |
好人卡 | 14 |
积分 | 1 |
经验 | 6342 |
最后登录 | 2015-10-31 |
在线时间 | 466 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 466 小时
- 注册时间
- 2006-2-25
- 帖子
- 1863
|
本帖最后由 诡异の猫 于 2011-5-19 23:02 编辑
回复 冰舞蝶恋 的帖子
参照Window_Base里面的draw_actor_hp方法- def draw_actor_hp(actor, x, y, width = 120)
- draw_actor_hp_gauge(actor, x, y, width)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y, 30, WLH, Vocab::hp_a)
- self.contents.font.color = hp_color(actor)
- last_font_size = self.contents.font.size
- xr = x + width
- if width < 120
- self.contents.draw_text(xr - 44, y, 44, WLH, actor.hp, 2)
- else
- self.contents.draw_text(xr - 99, y, 44, WLH, actor.hp, 2)
- self.contents.font.color = normal_color
- self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2)
- self.contents.draw_text(xr - 44, y, 44, WLH, actor.maxhp, 2)
- end
- end
复制代码 这个方法的参数actor是Game_Actor的一个对象,把它换成Game_Enemy的一个对象就行了
比如队伍里面第一个人绘制HP条的代码是
actor = $game_party.members[0]
draw_actor_hp_gauge(actor, x, y, width)
如果是想给敌人队伍里面第一个怪兽绘制HP条则是
enemy = $game_troop.member[0]
draw_actor_hp_gauge(enemy, x, y, width)
不过这个方法只能用于窗口对象中,如果想在Sprite里面画的话就把self.contents改成self.bitmap就可以了
诡异の猫于2011-5-19 23:08补充以下内容:
补充一下,就是Enemy的数据库里面确实只有maxhp的数据,但是敌人当前的HP是通过Game_Enemy里面的@hp变量来储存的,我们在游戏里面调用的敌人一般都是Game_Enemy的对象,data_enemies只是给Game_Enemy类提供一些初始的数据 |
|