|
发表于 2009-12-23 19:41:11
|
显示全部楼层
if $game_switches[318] == true
hp = 0
end
这个的意思是318号的开关打开的话。。就不显示血条么?
首先if $game_switches[318] 就可以了
其次。。你放错地方了
- 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 $game_switches[318]
- @sprite.opacity = 0
- else
- if @character.name.include?("敌人")
- id = @character.name.delete("敌人").split(/,/)[0].to_i
- 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
- end
复制代码 |
|