赞 | 1 |
VIP | 337 |
好人卡 | 3 |
积分 | 1 |
经验 | 37815 |
最后登录 | 2024-11-25 |
在线时间 | 380 小时 |
Lv1.梦旅人 魔王 ⑨
- 梦石
- 0
- 星屑
- 95
- 在线时间
- 380 小时
- 注册时间
- 2006-10-16
- 帖子
- 4299
|
以下引用rmxpcainiao于2009-1-23 19:28:10的发言:
本贴悬赏额度如下:VIP:0 积分:100
参照了简单横版脚本,并做了改动。
Class Window_Base
......
def draw_actor_graphic(actor, x, y)
bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
cw = bitmap.width
ch = bitmap.height/2 #实现半身像
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
......
Class Window_BattleStatus
......
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
actor = $game_party.actors
actor_x = i * 160 + 4
draw_actor_graphic(actor,actor_x+20,120)#战斗状态栏添加头像,坐标自己调
draw_actor_name(actor, actor_x, 0)
draw_actor_hp(actor, actor_x, 32, 120)
draw_actor_sp(actor, actor_x, 64, 120)
if @level_up_flags
self.contents.font.color = normal_color
self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
else
draw_actor_state(actor, actor_x, 96)
end
end
end
......
class Sprite_Battler
......
def update
super
# 战斗者为 nil 的情况下
if @battler == nil
self.bitmap = nil
loop_animation(nil)
return
end
# 文件名和色相与当前情况有差异的情况下
if @battler.battler_name != @battler_name or
@battler.battler_hue != @battler_hue
# 获取、设置位图
@battler_name = @battler.battler_name
@battler_hue = @battler.battler_hue
#使状态栏头像与战斗画面头像使用不同的图片。
self.bitmap = RPG::Cache.battler("复件"+@battler_name, @battler_hue)
@width = bitmap.width
@height = bitmap.height
self.ox = @width /2
self.oy = @height
# 如果是战斗不能或者是隐藏状态就把透明度设置成 0
if @battler.dead? or @battler.hidden
self.opacity = 0
end
end
......
有个必要条件,虐待美工,必须给所有战斗图另外设置新图,文件必须是前缀名(程序中是复件)+原图文件名的命名格式,我偷懒只设置了一个,其余都是复制。
很肤浅的修改,不知有没有更好的办法。
恩…………不是很想打击LZ,战斗显示头像的教程不少了,还有LZ发错区了,还有我也发过两个战斗显示头像了。RGSS现在对我来说就是玩具。。不过有时候我会被他玩回。。 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|