设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2657|回复: 5
打印 上一主题 下一主题

[已经解决] 求助VX如何在战斗画面中显示头像

 关闭 [复制链接]

Lv3.寻梦者

梦石
0
星屑
4636
在线时间
412 小时
注册时间
2008-1-18
帖子
407
跳转到指定楼层
1
发表于 2011-5-31 12:48:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 红十字 于 2011-6-2 21:28 编辑

请高手指点。战斗时只能选择人物的名字,如何才能同时把人物的头像或者人物的战斗图显示出来啊?谢谢

Lv1.梦旅人

梦石
0
星屑
48
在线时间
579 小时
注册时间
2011-5-30
帖子
497
2
发表于 2011-5-31 12:54:54 | 只看该作者
本帖最后由 拉羅卡特 于 2011-5-31 12:59 编辑

这个因该适合你 战斗头像显示(横版+通常版皆适用)

#==============================================================================
# ☆ Window_BattleFaceStatus Ver.1.00
#------------------------------------------------------------------------------
#  バトル画面でパーティメンバーのステータスを顔表示するウィンドウです。
#==============================================================================

class Window_BattleStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ☆ オブジェクト初期化 <追加変更>
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0-16, 416, 128+32)#変更
   
    @item_max = 1      # 追加: 項目数
    @column_max = 4    # 追加: 桁数
    @index = -1        # 追加: カーソル位置
    @spacing = 0       # 追加: 横に項目が並ぶときの空白の幅
    self.opacity = 0   # 追加: ウィンドウ背景透明
   
    refresh
    self.active = false
  end  
  #--------------------------------------------------------------------------
  # ☆ 項目を描画する矩形の取得  <新規追加>
  #     index : 項目番号
  #--------------------------------------------------------------------------
  def item_rect(index)
    rect = Rect.new(0, 0, 0, 0)
    @column_max=$game_party.members.size
   
    #rect.width = (contents.width + @spacing) / @column_max - @spacing
    #rect.height = contents.height + 32 -32
    #rect.x = index % @column_max * (rect.width + @spacing)
    #rect.y = index / @column_max - 16 +16 #* WLH
   
    rect.width = (contents.width + @spacing) / @column_max - @spacing
    rect.width=96 if @column_max<4
    rect.height = contents.height + 32 -32
    x=((self.width-32) - rect.width*@column_max )/(@column_max+1)
    rect.x = index*rect.width + x*(index+1)
    rect.y = index / @column_max - 16 +16 #* WLH
   
    return rect
  end
  #--------------------------------------------------------------------------
  # ☆ 項目の描画 <追加変更>
  #     index   : 項目番号
  #--------------------------------------------------------------------------
  def draw_item(index)
    rect = item_rect(index)
    rect.x += 4
    rect.width -= 8
    #self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    actor = $game_party.members[index]
   
   
    ms=$game_party.members.size
    w=96
    w=(self.width-32)/ms if ms>4
    x=((self.width-32) - w*ms )/(ms+1)
    x=0 if x<0
    draw_actor_face(actor,actor.index * w + 2 + x*(actor.index+1), 0,w-4) #追加
   
    size = self.contents.font.size  #追加
    self.contents.font.size=16      #追加
   
    draw_actor_name(actor, actor.index * w + 2 + x*(actor.index+1), 0-4) #追加
    draw_actor_state(actor, index*w + x*(actor.index+1), WLH*2 +12, w) #追加
   
    draw_actor_hp(actor, index*w +2 + x*(actor.index+1), WLH*3 +8, w-4) #追加
    draw_actor_mp(actor, index*w +2 + x*(actor.index+1), WLH*4 +4, w-4) #追加
   
    self.contents.font.size=size    #追加

  end
  #--------------------------------------------------------------------------
  # ☆ 顔グラフィックの描画 <追加変更>
  #     face_name  : 顔グラフィック ファイル名
  #     face_index : 顔グラフィック インデックス
  #     x          : 描画先 X 座標
  #     y          : 描画先 Y 座標
  #     size       : 表示サイズ
  #--------------------------------------------------------------------------
  def draw_face(face_name, face_index, x, y, size = 96)
    bitmap = Cache.face(face_name)
    rect = Rect.new(0, 0, 0, 0)
    rect.x = face_index % 4 * 96 + (96 - size) / 2
    rect.y = face_index / 4 * 96 #+ (96 - size) / 2#追加
   
    rect.width = size
   
    rect.height = 96 #size#追加
    self.contents.blt(x, y, bitmap, rect)
    bitmap.dispose
  end
  
  #--------------------------------------------------------------------------
  # ☆ HP の描画 <追加変更>
  #     actor : アクター
  #     x     : 描画先 X 座標
  #     y     : 描画先 Y 座標
  #     width : 幅
  #--------------------------------------------------------------------------
  def draw_actor_hp(actor, x, y, width = 120)
    ms = self.contents.font.size/2  #追加
   
    draw_actor_hp_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y+2, 30, WLH, Vocab::hp_a)             #追加
    self.contents.font.color = hp_color(actor)
    xr = x + width
    if width <90                                                      #追加
      self.contents.draw_text(xr - ms*4, y+2, ms*4, WLH, actor.hp, 2) #追加
    else
      self.contents.draw_text(xr - ms*9, y+2, ms*4, WLH, actor.hp, 2) #追加
      self.contents.font.color = normal_color                         #追加
      self.contents.draw_text(xr - ms*5, y+2, ms, WLH, "/", 2)        #追加
      self.contents.draw_text(xr - ms*4, y+2, ms*4, WLH, actor.maxhp, 2)#追加
    end
  end
  #--------------------------------------------------------------------------
  # ☆ MP の描画 <追加変更>
  #     actor : アクター
  #     x     : 描画先 X 座標
  #     y     : 描画先 Y 座標
  #     width : 幅
  #--------------------------------------------------------------------------
  def draw_actor_mp(actor, x, y, width = 120)
    ms = self.contents.font.size/2  #追加   
   
    draw_actor_mp_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y+2, 30, WLH, Vocab::mp_a)             #追加
    self.contents.font.color = mp_color(actor)
    xr = x + width
    if width <90                                                      #追加
      self.contents.draw_text(xr - ms*4, y+2, ms*4, WLH, actor.mp, 2) #追加
    else
      self.contents.draw_text(xr - ms*9, y+2, ms*4, WLH, actor.mp, 2) #追加
      self.contents.font.color = normal_color                         #追加
      self.contents.draw_text(xr - ms*5, y+2, ms, WLH, "/", 2)        #追加
      self.contents.draw_text(xr - ms*4, y+2, ms*4, WLH, actor.maxmp, 2)#追加
    end
  end
end

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ☆ 対象アクター対象選択の開始 <追加変更>
  #--------------------------------------------------------------------------
  alias old_start_target_actor_selection start_target_actor_selection
  def start_target_actor_selection
    old_start_target_actor_selection
   
    @target_actor_window.y -= 16  #追加  
  end
end

#////////////////////////////////////////////////////////////////
#作成者: ehime
#サイト: 未完のダンボール (Mikan no Danboru)
#   URL: http://www.abcoroti.com/~nekoneko/index.html
#readmeやスタッフロールの明記,使用報告は任意.
#////////////////////////////////////////////////////////////////

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
冰舞蝶恋 + 200 + 2 下次麻烦用脚本框框起来。

查看全部评分

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
28 小时
注册时间
2011-1-30
帖子
15
3
发表于 2011-5-31 13:14:07 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

4
发表于 2011-5-31 22:03:38 | 只看该作者
楼主 如果您认为问题已解决,请手动设置标签为【已经解决】
若长期未操作,版主将默认为【已经过期】处理。
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4636
在线时间
412 小时
注册时间
2008-1-18
帖子
407
5
 楼主| 发表于 2011-6-2 21:24:53 | 只看该作者
谢谢各位,这个问题已经好了,但是没找到在哪设置成【已经解决】......
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

6
发表于 2011-6-2 21:56:08 | 只看该作者
红十字 发表于 2011-6-2 21:24
谢谢各位,这个问题已经好了,但是没找到在哪设置成【已经解决】......

您好,请您看到主题帖左下方的“编辑”按钮,点进去有一个标签选择,“有事请教”编辑为“已经解决”即可。
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-23 21:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表