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

Project1

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

[已经过期] 关于VA自带整队功能的问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
419
在线时间
170 小时
注册时间
2012-7-28
帖子
29
跳转到指定楼层
1
发表于 2014-10-12 22:23:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
为了解决阵型问题,开了双窗口,将参战角色和非参战角色分开显示,结果VA自带整队功能就被困在参战角色队列了,根本操作不了非参战角色,这个问题要如何修改脚本,还是说要重新写一个整队脚本?求助啊。
附分窗效果图:

Lv1.梦旅人

梦石
0
星屑
98
在线时间
1617 小时
注册时间
2013-8-15
帖子
4459
2
发表于 2014-10-12 22:45:52 | 只看该作者
兄弟,秀秀脚本. . . . . .
神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
419
在线时间
170 小时
注册时间
2012-7-28
帖子
29
3
 楼主| 发表于 2014-10-12 23:18:17 | 只看该作者
永燃的狂炎 发表于 2014-10-12 22:45
兄弟,秀秀脚本. . . . . .

#encoding:utf-8
#==============================================================================
# ■ Window_MenuStatus
#------------------------------------------------------------------------------
#  菜单画面中,显示队伍成员状态的窗口
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_reader   :pending_index            # 保留位置(整队用)
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, window_width, window_height)
    @pending_index = -1
    refresh
  end
=begin
  #--------------------------------------------------------------------------
  # ● 获取窗口的宽度
  #--------------------------------------------------------------------------
  def window_width
    Graphics.width - 160
  end
  #--------------------------------------------------------------------------
  # ● 获取窗口的高度
  #--------------------------------------------------------------------------
  def window_height
    Graphics.height
  end
=end
  #--------------------------------------------------------------------------
  # ● 获取窗口的宽度
  #--------------------------------------------------------------------------
  def window_width
    #Graphics.height
    Graphics.width - 136
  end
  #--------------------------------------------------------------------------
  # ● 获取窗口的高度
  #--------------------------------------------------------------------------
  def window_height
    Graphics.height - 96
  end
  #--------------------------------------------------------------------------
  # ● 获取项目数
  #--------------------------------------------------------------------------
  def item_max
    $game_party.battle_members.size#$game_party.members.size
  end
  #--------------------------------------------------------------------------
  # ● 绘制项目
  #--------------------------------------------------------------------------
  def draw_item(index)
    #draw_vert_line(384)
    #if index < 5
    #col_max = 3
    actor = $game_party.battle_members[index]
    enabled = $game_party.battle_members.include?(actor)
    rect = item_rect(index)
    draw_item_background(index)
    draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled)
    #draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
    draw_actor_name(actor, rect.x + 1, rect.y + 72)
    #else
    #col_max = 1
    #actor = $game_party.members[index]
    #enabled = $game_party.battle_members.include?(actor)
    #rect = item_rect(index)
    #draw_item_background(index)
    #draw_actor_face(actor, rect.x + 1 + 424, rect.y + 1, enabled)
    #draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
    #draw_actor_name(actor, rect.x + 1 + 424, rect.y + 72)
    #end
    #↓-----------------------------------------------------------------------
    #draw_text(x, y, width, line_height, $game_party.quname(index))
    #↑-----------------------------------------------------------------------
  end
  #--------------------------------------------------------------------------
  # ● 绘制项目的背景
  #--------------------------------------------------------------------------
  def draw_item_background(index)
    if index == @pending_index
      contents.fill_rect(item_rect(index), pending_color)
    end
  end
  #--------------------------------------------------------------------------
  # ● 按下确定键时的处理
  #--------------------------------------------------------------------------
  def process_ok
    super
    $game_party.menu_actor = $game_party.members[index]
  end
  #--------------------------------------------------------------------------
  # ● 返回上一个选择的位置
  #--------------------------------------------------------------------------
  def select_last
    select($game_party.menu_actor.index || 0)
  end
  #--------------------------------------------------------------------------
  # ● 设置保留位置(整队用)
  #--------------------------------------------------------------------------
  def pending_index=(index)
    last_pending_index = @pending_index
    @pending_index = index
    redraw_item(@pending_index)
    redraw_item(last_pending_index)
  end
  #↓-------------------------------------------------------------------------
  # ● 获取列数
  #--------------------------------------------------------------------------
  def col_max
    return 3 #跟据分辨率的不同可以改
  end
  #--------------------------------------------------------------------------
  # ● 获取项目的高度
  #--------------------------------------------------------------------------
  def item_height
    window_height / 3
  end
  #--------------------------------------------------------------------------
  # ● 绘制水平线
  #--------------------------------------------------------------------------
  #def draw_vert_line(x)
    #line_x = x
    #contents.fill_rect(x, 0, 2, Graphics.height - 96, line_color)
  #end
  #--------------------------------------------------------------------------
  # ● 获取水平线的颜色
  #--------------------------------------------------------------------------
  #def line_color
    #color = normal_color
    #color.alpha = 48
    #color
  #end
  #↑---------------------------------------------------------------------------
end

---------------------------------------------------------------------------------------------------------
分割线,以上是原始窗口的修改,以下是复制原始窗口脚本后修改出来的
---------------------------------------------------------------------------------------------------------
#encoding:utf-8
#==============================================================================
# ■ Window_MenuStatus
#------------------------------------------------------------------------------
#  菜单画面中,显示队伍成员状态的窗口
#==============================================================================

class Window_MenuStatusII < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_reader   :pending_index            # 保留位置(整队用)
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, window_width, window_height)
    @pending_index = -1
    refresh
  end
=begin
  #--------------------------------------------------------------------------
  # ● 获取窗口的宽度
  #--------------------------------------------------------------------------
  def window_width
    Graphics.width - 160
  end
  #--------------------------------------------------------------------------
  # ● 获取窗口的高度
  #--------------------------------------------------------------------------
  def window_height
    Graphics.height
  end
=end
  #--------------------------------------------------------------------------
  # ● 获取窗口的宽度
  #--------------------------------------------------------------------------
  def window_width
    #Graphics.height
    136
  end
  #--------------------------------------------------------------------------
  # ● 获取窗口的高度
  #--------------------------------------------------------------------------
  def window_height
    Graphics.height - 96
  end
  #--------------------------------------------------------------------------
  # ● 获取项目数
  #--------------------------------------------------------------------------
  def item_max
    $game_party.unbattle_members.size#$game_party.members.size
  end
  #--------------------------------------------------------------------------
  # ● 绘制项目
  #--------------------------------------------------------------------------
  def draw_item(index)
    #draw_vert_line(Graphics.width - 160)
    actor = $game_party.unbattle_members[index]#$game_party.members
    #actor = $game_party.quldr[index]
    enabled = $game_party.battle_members.include?(actor)
    rect = item_rect(index)
    draw_item_background(index)
    draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled)
    #draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
    draw_actor_name(actor, rect.x + 1, rect.y + 72)
    #↓-----------------------------------------------------------------------
    #draw_text(x, y, width, line_height, $game_party.quname(index))
    #↑-----------------------------------------------------------------------
  end
  #--------------------------------------------------------------------------
  # ● 绘制项目的背景
  #--------------------------------------------------------------------------
  def draw_item_background(index)
    if index == @pending_index
      contents.fill_rect(item_rect(index), pending_color)
    end
  end
  #--------------------------------------------------------------------------
  # ● 按下确定键时的处理
  #--------------------------------------------------------------------------
  def process_ok
    super
    $game_party.menu_actor = $game_party.members[index]
  end
  #--------------------------------------------------------------------------
  # ● 返回上一个选择的位置
  #--------------------------------------------------------------------------
  def select_last
    select($game_party.menu_actor.index || 0)
  end
  #--------------------------------------------------------------------------
  # ● 设置保留位置(整队用)
  #--------------------------------------------------------------------------
  def pending_index=(index)
    last_pending_index = @pending_index
    @pending_index = index
    redraw_item(@pending_index)
    redraw_item(last_pending_index)
  end
  #↓-------------------------------------------------------------------------
  # ● 获取列数
  #--------------------------------------------------------------------------
  def col_max
    return 1 #跟据分辨率的不同可以改
  end
  #--------------------------------------------------------------------------
  # ● 获取项目的高度
  #--------------------------------------------------------------------------
  def item_height
    window_height / 3
  end
  #↑---------------------------------------------------------------------------
end
-------------------------------------------------------------------------------------------------------------
下面是在Scene_Menu中调用双窗口的部分
-------------------------------------------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  # ● 生成状态窗口
  #--------------------------------------------------------------------------
  def create_status_window
    @status_window = Window_MenuStatus.new(0, 48)
    @status_windowII = Window_MenuStatusII.new(408, 48)
    #@status_window = Window_MenuStatus.new(@command_window.width, 0)
  end
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 23:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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