Project1

标题: 再来问一次关于状态画面的问题...- -~! [打印本页]

作者: Wind_520    时间: 2009-6-12 04:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 失去的记忆    时间: 2009-6-12 04:33
修改脚本中的 windows Menu...(现在手中无 RM{/kuk}{/kuk})
作者: tommay    时间: 2009-6-12 04:37
LZ只想状态时不显示第四个角色?装备、特技呢?
作者: 后知后觉    时间: 2009-6-12 04:44
Window_MenuStatus里的这个地方
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
改成
  def refresh
    self.contents.clear
    @item_max = [$game_party.actors.size,3].min
    for i in 0...@item_max

作者: Wind_520    时间: 2009-6-12 04:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: tommay    时间: 2009-6-12 04:49
回LSS:
如果是按照你的思路,放到initialize里面更好
作者: 后知后觉    时间: 2009-6-12 04:51
测试了下 差了些东西
这样改有问题
把装备和技能忽略掉了
那样改了就全都不能进第4个了
这个看来只有改Scene了  改窗口的item_max有点麻烦- -


以下引用tommay于2009-6-11 20:49:06的发言:

回LSS:
如果是按照你的思路,放到initialize里面更好


[本贴由作者于 2009-6-11 20:49:23 最后编辑]


作者: Wind_520    时间: 2009-6-12 04:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: 后知后觉    时间: 2009-6-12 05:08
首先是Window_MenuStatus里的这个方法
  def refresh
    self.contents.clear
    if $scene.command_window.index == 3
      @item_max = [$game_party.actors.size, 3].min
    else
      @item_max = $game_party.actors.size
    end

    for i in 0...$game_party.actors.size
      x = 64
      y = i * 116
      actor = $game_party.actors
      draw_actor_graphic(actor, x - 40, y + 80)
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 144, y)
      draw_actor_level(actor, x, y + 32)
      draw_actor_state(actor, x + 90, y + 32)
      draw_actor_exp(actor, x, y + 64)
      draw_actor_hp(actor, x + 236, y + 32)
      draw_actor_sp(actor, x + 236, y + 64)
    end
  end
然后是Scene_Menu
先在这一行下面加一行
class Scene_Menu
attr_reader :command_window
然后找到这个方法再加一行
  #--------------------------------------------------------------------------
  # ● 刷新画面 (命令窗口被激活的情况下)
  #--------------------------------------------------------------------------
  def update_command
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 切换的地图画面
      $scene = Scene_Map.new
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 同伴人数为 0、存档、游戏结束以外的场合
      if $game_party.actors.size == 0 and @command_window.index < 4
        # 演奏冻结 SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @status_window.refresh
      # 命令窗口的光标位置分支
      case @command_window.index
      when 0  # 物品

作者: Wind_520    时间: 2009-6-12 05:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 后知后觉    时间: 2009-6-12 05:21
那个刚才多打了个e  - -
attr_reader :command_window
作者: Wind_520    时间: 2009-6-12 05:33
提示: 作者被禁止或删除 内容自动屏蔽




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