Project1

标题: 想把默认战斗队友人数上限改为三个 [打印本页]

作者: 狂人示范店    时间: 2014-12-6 19:55
标题: 想把默认战斗队友人数上限改为三个
我的意思是
我是想让三个角色刚好占满整个队伍
如果用默认的话 由于默认是四个人为上限
少一个人会缺一块- -不美观
就是让三个角色平均占1/3的位置
像图中圈的那样

作者: yang1zhi    时间: 2014-12-6 21:49
好象有只显示出场人物框框的脚本。我是我用的系统里有带这个功能的。
作者: 狂人示范店    时间: 2014-12-7 09:16
yang1zhi 发表于 2014-12-6 21:49
好象有只显示出场人物框框的脚本。我是我用的系统里有带这个功能的。

{:2_257:}为毛我觉得你水经验- -
作者: RyanBern    时间: 2014-12-7 09:36
你需要改一下这两个地方:
1.窗口显示的队员信息的位置,这个在脚本Window_BattleStatus中,找到下面这一段:
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 刷新
  3.   #--------------------------------------------------------------------------
  4.   def refresh
  5.     self.contents.clear
  6.     @item_max = $game_party.actors.size
  7.     for i in 0...$game_party.actors.size
  8.       actor = $game_party.actors[i]
  9.       ######
  10.       actor_x = i * 160 + 4
  11.       ######
  12.       draw_actor_name(actor, actor_x, 0)
  13.       draw_actor_hp(actor, actor_x, 32, 120)
  14.       draw_actor_sp(actor, actor_x, 64, 120)
  15.       if @level_up_flags[i]
  16.         self.contents.font.color = normal_color
  17.         self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
  18.       else
  19.         draw_actor_state(actor, actor_x, 96)
  20.       end
  21.     end
  22.   end

有一句actor_x = i * 160 + 4(脚本中已经标出),这个明显是4人的情况,如果要是3个人的话,可以改成
actor_x = i * 210 + 4
2.然后就是角色战斗图的位置,也需要改,这个在Game_Actor中,找到下面的部分:
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 取得战斗画面的 X 坐标
  3.   #--------------------------------------------------------------------------
  4.   def screen_x
  5.     # 返回计算后的队伍 X 坐标的排列顺序
  6.     if self.index != nil
  7.       return self.index * 160 + 80
  8.     else
  9.       return 0
  10.     end
  11.   end

里面有个return self.index * 160 + 80
同样把160改成210

这样做的原理只是把多出的那个队员的位置改到了屏幕外面去,队伍的实际最大人数还是4个,所以队伍的人数上限就不用改了,编游戏的时候自己控制就好。
作者: chd114    时间: 2014-12-7 12:07
RyanBern 发表于 2014-12-6 16:36
你需要改一下这两个地方:
1.窗口显示的队员信息的位置,这个在脚本Window_BattleStatus中,找到下面这一段 ...

里面显示的HP字体什么的不用改坐标吗?
作者: 狂人示范店    时间: 2014-12-7 12:10
RyanBern 发表于 2014-12-7 09:36
你需要改一下这两个地方:
1.窗口显示的队员信息的位置,这个在脚本Window_BattleStatus中,找到下面这一段 ...

(・ω・)HP SP怎么办
作者: RyanBern    时间: 2014-12-7 12:25
狂人示范店 发表于 2014-12-7 12:10
(・ω・)HP SP怎么办

照着那样改HP和SP的文字都应该移动才对。
刚才我忘了一个地方就是战斗指令的窗口坐标也要改下(就是显示“攻击”“特技”那个)
这个在Scene_Battle3里面
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 设置角色指令窗口
  3.   #--------------------------------------------------------------------------
  4.   def phase3_setup_command_window
  5.     # 同伴指令窗口无效化
  6.     @party_command_window.active = false
  7.     @party_command_window.visible = false
  8.     # 角色指令窗口无效化
  9.     @actor_command_window.active = true
  10.     @actor_command_window.visible = true
  11.     # 设置角色指令窗口的位置
  12.     @actor_command_window.x = @actor_index * 160
  13.     # 设置索引为 0
  14.     @actor_command_window.index = 0
  15.   end

还是把那个@actor_index * 160 改成 @actor_index * 210即可
作者: 狂人示范店    时间: 2014-12-7 12:45
本帖最后由 狂人示范店 于 2014-12-7 12:52 编辑
RyanBern 发表于 2014-12-7 12:25
照着那样改HP和SP的文字都应该移动才对。
刚才我忘了一个地方就是战斗指令的窗口坐标也要改下(就是显示 ...


(´・ω・`)恩 谢谢大神 对了- -顺便帮我看看我的另一个问题吧
效果如下





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