Project1

标题: 如何在战斗时添加人物图像,高手请进!!! [打印本页]

作者: 狼人弟弟    时间: 2016-3-24 04:19
标题: 如何在战斗时添加人物图像,高手请进!!!

如上图,我已经把其他准备好了,就差在图中红框里插入人物头像。
我其实也试过了,但却只能插入一张人物头像,在换人之后也一直没有变过,如下图:


所以在此想请教高手一下,如何才能让这张肖像图跟着人物的选择而改变?!

具体脚本如下:
1.这是Window_BattleStatus中的脚本:

#encoding:utf-8
#==============================================================================
# ■ Window_BattleStatus
#------------------------------------------------------------------------------
#  战斗画面中,显示“队伍成员状态”的窗口。
#==============================================================================

class Window_BattleStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, window_width, window_height)
    refresh
    self.openness = 0
  end
  #--------------------------------------------------------------------------
  # ● 获取窗口的宽度
  #--------------------------------------------------------------------------
  def window_width
    Graphics.width - 128
  end
  #--------------------------------------------------------------------------
  # ● 获取窗口的高度
  #--------------------------------------------------------------------------
  def window_height
    fitting_height(visible_line_number)
  end
  #--------------------------------------------------------------------------
  # ● 获取显示行数
  #--------------------------------------------------------------------------
  def visible_line_number
    return 4
  end
  #--------------------------------------------------------------------------
  # ● 获取项目数
  #--------------------------------------------------------------------------
  def item_max
    $game_party.battle_members.size
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    draw_all_items
  end
  #--------------------------------------------------------------------------
  # ● 绘制项目
  #--------------------------------------------------------------------------
  def draw_item(index)
    actor = $game_party.battle_members[index]
  #  draw_basic_area(basic_area_rect(index), actor)   #基本区域
    draw_gauge_area(gauge_area_rect(index), actor)   #状态  
    draw_actor_face(actor, x, y, enabled = true)       #绘制肖像
  end
  #--------------------------------------------------------------------------
  # ● 获取基本区域的矩形
  #--------------------------------------------------------------------------
  def basic_area_rect(index)
    rect = item_rect_for_text(index)
    rect.width = gauge_area_width + 10
    rect
  end
  #--------------------------------------------------------------------------
  # ● 获取值槽区域的矩形
  #--------------------------------------------------------------------------
  def gauge_area_rect(index)
    rect = item_rect_for_text(index)
    rect.x += rect.width - gauge_area_width - 10
    rect.y += -3
    rect.width = gauge_area_width
    rect
  end
  #--------------------------------------------------------------------------
  # ● 获取值槽区域的宽度
  #--------------------------------------------------------------------------
  def gauge_area_width
    return 230
  end
  #--------------------------------------------------------------------------
  # ● 绘制基本区域
  #--------------------------------------------------------------------------
  #def draw_basic_area(rect, actor)
  #  draw_actor_name(actor, rect.x + 0, rect.y, 100)
  #  draw_actor_icons(actor, rect.x + 104, rect.y, rect.width - 104)
  #  end
  #--------------------------------------------------------------------------
  # ● 绘制角色肖像图
  #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  #--------------------------------------------------------------------------
  def draw_face(face_name, face_index, x, y, enabled = true)
    bitmap = Cache.face(face_name)
    rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96)
    contents.blt(x - 140, y, bitmap, rect, enabled ? 255 : translucent_alpha)
    bitmap.dispose
  end
  #--------------------------------------------------------------------------
  # ● 绘制值槽区域
  #--------------------------------------------------------------------------
  def draw_gauge_area(rect, actor)
    if $data_system.opt_display_tp
      draw_gauge_area_with_tp(rect, actor)
    else
      draw_gauge_area_without_tp(rect, actor)
    end
  end
  #--------------------------------------------------------------------------
  # ● 绘制值槽区域(包括 TP)
  #--------------------------------------------------------------------------
  def draw_gauge_area_with_tp(rect, actor)
    draw_actor_hp(actor, rect.x + 0, rect.y, 72)
    draw_actor_mp(actor, rect.x + 82, rect.y, 64)
    draw_actor_tp(actor, rect.x + 156, rect.y, 64)
  end
  #--------------------------------------------------------------------------
  # ● 绘制值槽区域(不包括 TP)
  #--------------------------------------------------------------------------
  def draw_gauge_area_without_tp(rect, actor)
    draw_actor_hp(actor, rect.x + 0, rect.y, 134)
    draw_actor_mp(actor, rect.x + 144,  rect.y, 76)
  end
end
[/quote]
作者: Vortur    时间: 2016-3-24 09:45
在下不巧不是高手,不巧也恰好知道有个脚本可以实现该功能,楼主何不移步图书馆找找看?
作者: shencao    时间: 2016-3-24 16:28
这个帖子也许可以帮到你:
求VA默认战斗改进脚本:选人物行动时显示头像和播放声效
https://rpg.blue/thread-221918-1-1.html

改一改图的坐标应该可行。
不过也许选人物的选择框会出现在图的上层,调整一下窗口的宽度和坐标空出左边位置应该可以。
作者: 狼人弟弟    时间: 2016-3-24 16:56
shencao 发表于 2016-3-24 16:28
这个帖子也许可以帮到你:
求VA默认战斗改进脚本:选人物行动时显示头像和播放声效
https://rpg.blue/th ...

真的非常感谢!这正是我想要的~
作者: 狼人弟弟    时间: 2016-3-24 16:57
Vortur 发表于 2016-3-24 09:45
在下不巧不是高手,不巧也恰好知道有个脚本可以实现该功能,楼主何不移步图书馆找找看? ...

谢谢帮忙~~~不吝感激!!!
作者: 狼人弟弟    时间: 2016-3-24 17:37
shencao 发表于 2016-3-24 16:28
这个帖子也许可以帮到你:
求VA默认战斗改进脚本:选人物行动时显示头像和播放声效
https://rpg.blue/th ...

对了,请问如何在这个脚本上添加上人物的状态,比如火焰之力,冰冻或者中毒什么的状态?!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1