Project1

标题: 关于战斗时角色站位的问题 [打印本页]

作者: jknedved    时间: 2009-1-21 10:19
标题: 关于战斗时角色站位的问题
如何更改主角们的战斗站位啊?我不知道如何改脚本。貌似置顶贴里也没写啊。 [LINE]1,#dddddd[/LINE]此贴于 2009-1-22 12:29:53 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]此贴于 2009-1-24 18:00:30 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: hitlerson    时间: 2009-1-21 16:44
好久没碰RM了,凭记忆,是在GAME_ACTOR的最下面,有WHEN 0 WHEN 1之类的,这下面的数字就是各个角色的坐标了,适当调整即可
作者: redant    时间: 2009-1-23 07:06
http://rpg.blue/web/htm/news131.htm

game_actor里
搜索def screen_x

一般是改成LS 说的case when 的形式 [LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: 薄荷冰水    时间: 2009-1-23 09:04
{/hx}
是战斗中战斗图的问题吗?

可以尝试把
Game-Actor里的
  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
  12.   #--------------------------------------------------------------------------
  13.   # ● 取得战斗画面的 Y 坐标
  14.   #--------------------------------------------------------------------------
  15.   def screen_y
  16.     return 464
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 取得战斗画面的 Z 坐标
  20.   #--------------------------------------------------------------------------
  21.   def screen_z
  22.     # 返回计算后的队伍 Z 坐标的排列顺序
  23.     if self.index != nil
  24.       return 4 - self.index
  25.     else
  26.       return 0
  27.     end
  28.   end
  29. end
复制代码


全部替换成
  1.   #--------------------------------------------------------------------------
  2.   # ● 取得战斗画面的 X 坐标
  3.   #--------------------------------------------------------------------------
  4.   def screen_x
  5.     # 返回计算后的队伍 X 坐标的排列顺序
  6.     case self.index
  7.     when 0
  8.       return 550
  9.     when 1
  10.       return 480
  11.     when 2
  12.       return 590
  13.     when 3
  14.       return 520
  15.     else
  16.       return 640
  17.     end
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 取得战斗画面的 Y 坐标
  21.   #--------------------------------------------------------------------------
  22.   def screen_y
  23.     case self.index
  24.     when 0
  25.       return 270
  26.     when 1
  27.       return 320
  28.     when 2
  29.       return 360
  30.     when 3
  31.       return 420
  32.     else
  33.       return 1000
  34.     end
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 取得战斗画面的 Z 坐标
  38.   #--------------------------------------------------------------------------
  39.   def screen_z
  40.     # 返回计算后的队伍 Z 坐标的排列顺序
  41.     case self.index
  42.     when 0
  43.       return 1
  44.     when 1
  45.       return 2
  46.     when 2
  47.       return 3
  48.     when 3
  49.       return 4
  50.     else
  51.       return 0
  52.     end
  53.   end
  54. end
复制代码


然后你可以尝试改一下 Y X坐标 调整位置...  Z坐标呢 就是相当与图层的关系

4比3高 4挡住了3 3挡住了2 2挡住了1...{/gg}解释得很糟糕
作者: 后知后觉    时间: 2009-1-23 09:36
给你一个参考!
托你的福,我又发现了自己工程里的一个漏掉的东西!{/cy}

  #--------------------------------------------------------------------------
  # ● 取得战斗画面的 X 坐标
  #--------------------------------------------------------------------------
  def screen_x
    # 返回计算后的队伍 X 坐标的排列顺序
    if self.index != nil
      case self.index
      when 0 : return 320
      when 1 : return 360
      when 2 : return 400
      when 3 : return 440
      
      end
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # ● 取得战斗画面的 Y 坐标
  #--------------------------------------------------------------------------
  def screen_y
    case self.index
    when 0 : return 280
    when 1 : return 240
    when 2 : return 200
    when 3 : return 160
   
    end
  end
  #--------------------------------------------------------------------------
  # ● 取得战斗画面的 Z 坐标
  #--------------------------------------------------------------------------
  def screen_z
    # 返回计算后的队伍 Z 坐标的排列顺序
  if self.index != nil
    case self.index
      when 0 : return 6
      when 1 : return 4
      when 2 : return 8
      when 3 : return 2
      
    end
  else
      return 0
    end
  end

作者: 200878242    时间: 2009-1-23 18:50
LZ如果使用了45度战斗可以直接使用下面的脚本把Game-Actor里的相同的地方替换掉
#--------------------------------------------------------------------------
  # ● 取得战斗画面的 X 坐标
  #--------------------------------------------------------------------------
  def screen_x
    case self.index
    when 0
      return 550
    when 1
      return 490
    when 2
      return 430
    when 3
      return 370
    else
      return 640
    end
  end
  #--------------------------------------------------------------------------
  # ● 取得战斗画面的 Y 坐标
  #--------------------------------------------------------------------------
  def screen_y
    case self.index
    when 0
      return 360
    when 1
      return 420
    when 2
      return 480
    when 3
      return 540
    else
      return 1000
    end
  end
  #--------------------------------------------------------------------------
  # ● 取得战斗画面的 Z 坐标
  #--------------------------------------------------------------------------
  def screen_z
    # 返回计算后的队伍 Z 坐标的排列顺序
    if self.index != nil
      return 4 - self.index
    else
      return 0
    end
  end
end





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