本帖最后由 j433463 于 2012-12-17 13:35 编辑
原来啊,经这一问,我开始继续寻找改成全身战斗图的方式,终于给我磨出来了:
确实是需要自己动手去改 LNX11a 脚本,不过搞明白后也不是很难改,先是在主程式脚本找到
def default_battler_graphic
def default_battler_graphic
这个默认战斗者画面设定追加模块,加上
when 2 self.facebattler = draw_sbattler("battler_", id)
when 2
self.facebattler = draw_sbattler("battler_", id)
"battler_" 是全身战斗图档的档名前缀,id 是战斗者的 id 号,
这样会组成 battler_1 battler_3 的完整档名格式,
然后再在这个模块上面加一段绘制全身战斗图的模块
#-------------------------------------------------------------------------- # ● [追加]: 全身战斗图绘制返回 # 额外增加的立绘图形绘制 #-------------------------------------------------------------------------- def draw_sbattler(sbattler_name, sbattler_index) return unless sbattler_name bitmap = Cache.load_bitmap("Graphics/battlers/", sbattler_name + sbattler_index.to_s) bw = bitmap.width bh = bitmap.height rect = Rect.new(0, 0, bw, bh) sbattler = Bitmap.new(bw, bh) color = LNX11::DEFAULT_BG_COLOR sbattler.gradient_fill_rect(sbattler.rect, color[0], color[1], true) sbattler.blt(0, 0, bitmap, rect) bitmap.dispose sbattler end
#--------------------------------------------------------------------------
# ● [追加]: 全身战斗图绘制返回
# 额外增加的立绘图形绘制
#--------------------------------------------------------------------------
def draw_sbattler(sbattler_name, sbattler_index)
return unless sbattler_name
bitmap = Cache.load_bitmap("Graphics/battlers/", sbattler_name + sbattler_index.to_s)
bw = bitmap.width
bh = bitmap.height
rect = Rect.new(0, 0, bw, bh)
sbattler = Bitmap.new(bw, bh)
color = LNX11::DEFAULT_BG_COLOR
sbattler.gradient_fill_rect(sbattler.rect, color[0], color[1], true)
sbattler.blt(0, 0, bitmap, rect)
bitmap.dispose
sbattler
end
然后把全身战斗图放到 Graphics/battlers 下,档名记得要改正确,
角色 1 的档名是 battler_1.png,角色 2 是 battler_2.png,依此类推,
不是战斗时的排序,是按照数据库中角色的 id。
最后把 LNX11a 设置档中,改
DEFAULT_BATTLER_GRAPHIC = 2
DEFAULT_BATTLER_GRAPHIC = 2
本来只有 0 为脸图,1 为行走图,现在 2 就是全身战斗图了。
至于全身战斗图的大小是取图本身大小,嫌全身战斗图太大就把图改小吧。
范例图中血条、最大HP、最大MP数字是自己改的样式,不是 LNX11a 原来的配置,
全身战斗图是从日文素材站上另找的,忘了地址。 |