Project1

标题: 怎么根据队员的数量来确定不同的战斗坐标? [打印本页]

作者: angle灬la    时间: 2011-9-19 15:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 双叶GL    时间: 2011-9-19 16:14
本帖最后由 双叶GL 于 2011-9-19 16:16 编辑

用如果if
每假如一个队员时变量+1这样来确定人数
然后用多个如果↓这个是同伴加入的代码可以变为
if @actors.size < 1 and not @actors.include?(actor)
if @actors.size < 2 and not @actors.include?(actor)
if @actors.size < 3 and not @actors.include?(actor)
if @actors.size < 4 and not @actors.include?(actor)
↑这样就是1个人~4个人的如果
上面只是告诉开始应该怎么做,下面才是代码修改
要用$game_party.actors.size < 4 and not @actors.include?(actor)才可以给予同一个脚本中使用,不然只能在同一段脚本使用
  #--------------------------------------------------------------------------
  # ● 取得战斗画面的 X 坐标
  #--------------------------------------------------------------------------
  def screen_x
    # 返回计算后的队伍 X 坐标的排列顺序
    if self.index != nil//如果坐标初始=0
      return self.index * 160 + 80//那么每个人的坐标也就是160*人数+X移动的基础80,简单来说就是,*160固定间隔是160,也就是每个人的相差是160,然后在移动坐标到80,每个人都会移动,就好像是移动图片那样整体移动
    else
      return 0
    end
  end
这段是电脑自动的坐标,在Game_Actor里面
改成
  def screen_x
    # 返回计算后的队伍 X 坐标的排列顺序
     if $game_party.actors.size == 1
      return self.index + 300
     elsif $game_party.actors.size == 2
      return self.index * 200 + 200
     elsif $game_party.actors.size == 3
      return self.index * 150 + 150
     elsif $game_party.actors.size == 4
      return self.index * 120 + 120
      return 0
    end
  end
作者: angle灬la    时间: 2011-9-19 16:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: 双叶GL    时间: 2011-9-20 13:23
angle灬la 发表于 2011-9-19 16:58
哇,回答的真仔细。非常感谢

啊.在
     elsif $game_party.actors.size == 4
      return self.index * 120 + 120
      return 0
    end
  end
这个地方少了一个东西呢
应该是
     elsif $game_party.actors.size == 4
      return self.index * 120 + 120
     elsif//假如这些都没有的话,那坐标归零
      return 0
    end
  end




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