查看: 1256|回复: 5

纵版战斗时如何灵活调整人物位置

  [复制链接]
头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-2-12
回帖
13
发表于 2009-3-25 07:21:22 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
回帖
1912
发表于 2009-3-25 08:29:44 | 显示全部楼层
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
回复

使用道具 举报


梦石
0
星屑
89
在线时间
24 小时
注册时间
2006-5-27
回帖
11195

贵宾

发表于 2009-3-26 02:15:24 | 显示全部楼层
数据库-队伍-整列
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-2-12
回帖
13
 楼主| 发表于 2009-3-27 04:23:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
回帖
1912
发表于 2009-3-27 05:51:07 | 显示全部楼层
不好意思,之前没看清楚,你是想要战斗人物左右对齐填充整个窗口,而照我那样改的话会变成所有战斗者居中……

你需要改的是:
1、战斗图的 x 坐标,在 Game_Actor 的 screen_x 函数中
2、战斗状态窗口的角色 hp、sp 那些,在 Windows_BattleStatus 的 refresh 中,要改的 x 坐标位置上面已经红色突出了,只不过那个是自动居中,所以算法要改改
3、战斗选项的 x 坐标,这个是战斗时“攻击”、“特技”那个窗口的位置,按理说也应该出现在战斗图头顶上而不是以原来的位置显示,这是在 Scene_Battle 的 phase3_setup_command_window 中,上面的链接里面也有
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-2-12
回帖
13
 楼主| 发表于 2009-3-27 20:06:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部