Project1

标题: 纵版战斗时如何灵活调整人物位置 [打印本页]

作者: 野味    时间: 2009-3-25 07:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: 紫苏    时间: 2009-3-25 08:29
http://rpg.blue/web/htm/news440.htm

这个也灵活改变了窗口的大小,所以如果战斗背景高度还是 320 的话,就会看到黑色的背景。
如果不想改变窗口大小的话:
Sprite_Battle 里面的背景和敌人视口仍然改回 640*320
@viewport1 = Viewport.new(0, 0, 640, 320)
然后再把 Window_BattleStatus 那一段替换为:
class Window_BattleStatus < Window_Base
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for indx in 0...$game_party.actors.size
      actor = $game_party.actors[indx]
      # 居中显示文字
      actor_x = indx * 160 + 324 - $game_party.actors.size * 80

      draw_actor_name(actor, actor_x, 0)
      draw_actor_hp(actor, actor_x, 32, 120)
      draw_actor_sp(actor, actor_x, 64, 120)
      if @level_up_flags[indx]
        self.contents.font.color = normal_color
        self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
      else
        draw_actor_state(actor, actor_x, 96)
      end
    end
  end
end

作者: 凌辰    时间: 2009-3-26 02:15
数据库-队伍-整列
作者: 野味    时间: 2009-3-27 04:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 紫苏    时间: 2009-3-27 05:51
不好意思,之前没看清楚,你是想要战斗人物左右对齐填充整个窗口,而照我那样改的话会变成所有战斗者居中……

你需要改的是:
1、战斗图的 x 坐标,在 Game_Actor 的 screen_x 函数中
2、战斗状态窗口的角色 hp、sp 那些,在 Windows_BattleStatus 的 refresh 中,要改的 x 坐标位置上面已经红色突出了,只不过那个是自动居中,所以算法要改改
3、战斗选项的 x 坐标,这个是战斗时“攻击”、“特技”那个窗口的位置,按理说也应该出现在战斗图头顶上而不是以原来的位置显示,这是在 Scene_Battle 的 phase3_setup_command_window 中,上面的链接里面也有 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 野味    时间: 2009-3-27 20:06
提示: 作者被禁止或删除 内容自动屏蔽




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