Project1
标题:
求达人改个脚本的HP脚本~
[打印本页]
作者:
宾少
时间:
2008-9-9 04:07
标题:
求达人改个脚本的HP脚本~
class Spriteset_Battle
#--------------------------------------------------------------------------
# ● 生成敌人活动块
#--------------------------------------------------------------------------
def create_enemies
@enemy_sprites = []
@enemy_hpbar_sprites = []
for enemy in $game_troop.members.reverse
@enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
@enemy_hpbar_sprites.push(Sprite_Hpbar.new(@viewport1, enemy))
end
end
#--------------------------------------------------------------------------
# ● 刷新敌人活动块
#--------------------------------------------------------------------------
def update_enemies
for sprite in @enemy_sprites + @enemy_hpbar_sprites
sprite.update
end
end
#--------------------------------------------------------------------------
# ● 释放敌人活动块
#--------------------------------------------------------------------------
def dispose_enemies
for sprite in @enemy_sprites + @enemy_hpbar_sprites
sprite.dispose
end
end
end
#==============================================================================
# ■ Sprite_Sprite_Hpbar
#------------------------------------------------------------------------------
# 血条显示
#==============================================================================
class Sprite_Hpbar < Sprite_Base
#--------------------------------------------------------------------------
# ● 定量
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_accessor :battler
#--------------------------------------------------------------------------
# ● 初始化对像
# viewport : 视口
# battler : 战斗者 (Game_Battler)
#--------------------------------------------------------------------------
def initialize(viewport, battler = nil)
super(viewport)
@battler = battler
@name = @battler.name
@hp = @battler.hp
self.bitmap = Bitmap.new(100,50)
# self.bitmap.fill_rect(0,0,100,50,Color.new(255,0,0,255))
#self.bitmap.draw_text(0,10,100,20,@battler.name ,1)
draw_actor_hp_gauge(@battler, 0, 15, 80)
self.x = @battler.screen_x - 30
self.y = @battler.screen_y - self.bitmap.height / 2
# self.ox = self.bitmap.width
# self.oy = self.bitmap.height
self.z = @battler.screen_z + 5
end
#--------------------------------------------------------------------------
# ● 获取文字色
# n : 文字色编号 (0~31)
#--------------------------------------------------------------------------
def text_color(n)
windowskin = Cache.system("Window")
x = 64 + (n % 8) * 8
y = 96 + (n / 8) * 8
return windowskin.get_pixel(x, y)
end
#--------------------------------------------------------------------------
# ● HP矩形的描画
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 宽
#--------------------------------------------------------------------------
def draw_actor_hp_gauge(actor, x, y, width = 120)
gw = width * @hp / actor.maxhp
gc1 = text_color(28)
gc2 = text_color(24)
self.bitmap.fill_rect(x, y + 24 - 8, width, 6, text_color(19))
self.bitmap.gradient_fill_rect(x, y + 24 - 8, gw, 6, gc1, gc2)
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
if self.bitmap != nil
self.bitmap.dispose
end
super
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
super
if @battler == nil
self.bitmap = nil
else
update_battler_bitmap
end
end
#--------------------------------------------------------------------------
# ● 刷新传送的位图数据
#--------------------------------------------------------------------------
def update_battler_bitmap
if @battler.dead? or @battler.hidden
self.opacity = 0
end
if
[email protected]
? and
[email protected]
and self.opacity == 0
self.opacity = 255
end
if @hp != @battler.hp or @name != @battler.name
@name = @battler.name
@hp = @battler.hp
self.bitmap.clear
#self.bitmap.draw_text(0,10,100,20,@battler.name ,1)
draw_actor_hp_gauge(@battler, 0, 15, 80)
end
end
end
复制代码
请高人改下这个脚本:HP在右边显示,血是从下往上减!血条上头显示一个敌人的图片~
拜托拉~ [LINE]1,#dddddd[/LINE]
此贴于 2008-9-16 22:33:30 被版主八云紫提醒,请楼主看到后对本贴做出回应。
作者:
雪流星
时间:
2008-9-9 05:32
那个「图片」是直接使用敌人的战斗图(缩小)吗?
作者:
宾少
时间:
2008-9-9 05:36
那个图片的话,随便指定一张图片就可以了~{/tp}
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1