赞 | 0 |
VIP | 4 |
好人卡 | 43 |
积分 | 94 |
经验 | 75226 |
最后登录 | 2019-3-3 |
在线时间 | 1131 小时 |
Lv4.逐梦者
- 梦石
- 3
- 星屑
- 6420
- 在线时间
- 1131 小时
- 注册时间
- 2007-12-26
- 帖子
- 2402
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
这个脚本用来显示敌人事件头上的血条,敌人名包括了敌人的HP,比如:敌人20,2000,2000,150,260,120,80,50,43
那么20号敌人的MAXHP就是2000,初始HP也是2000,在游戏战斗中敌人血条的减少通过不断修改敌人事件的名字实现,但是对游戏速度影响很大,一般的电脑测试就是23帧左右,有办法优化么?- #简单地图角色头上显示HP,SP
- #以下是简单的主角HP显示,其他怪物或NPC显示同此意
- class Game_Player < Game_Character
- def name
- return $game_party.actors[0].name
- end
- end
- # 添加上面,我就是为了做一个判断,只让主角显示HPSP,如果你是ARPG等都要显示 自己省略
- class Sprite_Character < RPG::Sprite
- attr_accessor :character # 角色
- def initialize(viewport, character = nil)
- super(viewport)
- @character = character
- @sprite = Sprite.new
- @sprite.bitmap = Bitmap.new(160, 220)
- update
- end
- HPSP血条长度 = 30
-
- alias :update_hp_sp :update
- def update
- update_hp_sp
- @sprite.x = self.x - 115
- @sprite.y = self.y - 150
-
-
- if @character.name.include?("敌人1,")
- name = @character.name
- data = name.split(/,/) #装载数据
- name = data
- if @hp != data[1].to_i or @maxhp != data[2].to_i
- @hp = data[1].to_i
- @maxhp = data[2].to_i
- hp = HPSP血条长度/(data[2].to_f/data[1].to_f)
- if $game_switches[204] == true
- hp = 0
- end
- @sprite.bitmap.clear
- @sprite.bitmap.fill_rect(100,100, hp, 2, Color.new(255, 0, 51))
- end
- end
- 。。。。。
- 。。。
- 。。。。。
- 。。。。。。。
- 。。。
- if @character.name.include?("敌人20,")
- name = @character.name
- data = name.split(/,/) #装载数据
- name = data
- if @hp != data[1].to_i or @maxhp != data[2].to_i
- @hp = data[1].to_i
- @maxhp = data[2].to_i
- hp = HPSP血条长度/(data[2].to_f/data[1].to_f)
- if $game_switches[318] == true
- hp = 0
- end
- @sprite.bitmap.clear
- @sprite.bitmap.fill_rect(100,100, hp, 2, Color.new(255, 0, 51))
- end
- end
- end
- end
复制代码 |
|