Project1
标题:
这个ARPG血条脚本对游戏速度影响很大,有办法优化么?
[打印本页]
作者:
幻耶
时间:
2009-12-21 15:09
标题:
这个ARPG血条脚本对游戏速度影响很大,有办法优化么?
这个脚本用来显示敌人事件头上的血条,敌人名包括了敌人的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
复制代码
作者:
幻耶
时间:
2009-12-22 11:18
顶~
作者:
a360015305
时间:
2010-9-29 18:42
这个咋用?
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1