|
发表于 2009-12-23 20:22:42
|
显示全部楼层
if $game_switches[194+6*@character.id] 代替那些个开关
- 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 # 角色
- HPSP血条长度 = 30
- def initialize(viewport, character = nil)
- super(viewport)
- @character = character
- if @character.name.include?("敌人")
- id = @character.name.delete("敌人").split(/,/)[0].to_i
- if id > 0 && id < 21
- 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 @character.id > 0 && @character.id < 21
- @sprite = Sprite.new
- @sprite.bitmap = Bitmap.new(160, 220)
- @sprite.bitmap.fill_rect(100,100, hp, 2, Color.new(255, 0, 51))
- end
- end
- end
- end
- update
- end
- alias :update_hp_sp :update
- def update
- update_hp_sp
- if @character.name.include?("敌人")
- id = @character.name.delete("敌人").split(/,/)[0].to_i
- if $game_switches[194+6*id]
- @sprite.opacity = 0
- return
- end
- if id > 0 && id < 21
- @sprite.x = self.x - 115
- @sprite.y = self.y - 150
- 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 @character.id > 0 && @character.id < 21 && $game_variables[5] > 0
- @sprite.bitmap.clear
- @sprite.bitmap.fill_rect(100,100, hp, 2, Color.new(255, 0, 51))
- end
- end
- end
- end
- end
- end
复制代码 |
|