设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

关于Side view横版脚本初始队列改造的想法【已解决】

查看数: 1799 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-12-24 17:04

正文摘要:

本帖最后由 RMVXA 于 2018-12-25 19:51 编辑 能否根据我方队伍人数,出现不同的初始位置? 例如: 当队伍为1人时,初始队伍位置:             ACTOR_POSITION  &n ...

回复

RMVXA 发表于 2018-12-25 18:48:58
本帖最后由 RMVXA 于 2018-12-25 18:50 编辑
百里_飞柳 发表于 2018-12-24 18:41
翻了下自己以前的工程,发现改了很多地方,有点点麻烦
只能提供一个思路了


鹰大,不知道是不是这一段...  红色部分是我添加的代码(根本不懂,佛系添加):
  #--------------------------------------------------------------------------
  # ● ベース坐标をセット data = [X轴, Y轴, H轴]  moment_set…瞬间配置
  #--------------------------------------------------------------------------

  def set_base_position(moment_set = true)
    mirroring_reset
    if @battler.actor?
   
      case $game_party.members.size
         when 1
            data   = [[XX,XX, 0]]
         when 2
            data   = [[XX,XX, 0],[XX,XX, 0]]
        when 3
            data   = [[XX,XX, 0],[XX,XX, 0],[XX,XX,0]]
        when 4
            data   = [[XXX,XXX, 0],[XXX,XXX, 0],[XXX,XXX, 0],[XXX,XXX, 0]]
        end
  #  data = N03::ACTOR_POSITION[@battler.index].dup
      @base_x = data[0] * 100 if !@mirror
      @base_x = (Graphics.width - data[0]) * 100 if @mirror
    else
      data = [@battler.screen_x, @battler.screen_y, 0].dup
      @base_x = data[0] * 100 if !$sv_camera.mirror
      @base_x = (Graphics.width - data[0]) * 100 if $sv_camera.mirror
    end
    @base_y = data[1] * 100
    @base_h = data[2] * 100
    @base_z = @y
    return if !moment_set
    @x = @base_x
    @y = @base_y
    @z = @base_z
  end





点评

完美!~ 谢谢鹰大!  发表于 2018-12-25 19:50
注释掉的那一行,后面加上 data = data[@battler.index].dup ,用当前角色index所对应的位置数组覆盖全部的  发表于 2018-12-25 19:16
百里_飞柳 发表于 2018-12-24 18:41:45
翻了下自己以前的工程,发现改了很多地方,有点点麻烦
只能提供一个思路了

在Sideview脚本里搜索 set_base_position 方法,这个方法是设置战斗者的基础坐标的,你在里面判定队伍出战人数,再将其中的 data 变量赋值为你的坐标数组
有一个需要注意的,如果有队友中途入队,你需要刷新一下所有人的基础坐标,这个具体又去搜下 战斗 - 队友入队 的方法吧

点评

用等差数列算出来了对应的坐标kanshangq:当队伍为1人,2人时,战斗时的位置感觉不会那么偏了!以后用SV做纵版战斗也这么用~  发表于 2018-12-25 19:55
这就是唯一方法了,毕竟基础坐标就这方法里设置;里面data存的是坐标组,你利用上一楼的那个,把POSITION字样全部改成data,在插入到actor?为true分支里  发表于 2018-12-25 11:06
鹰大,如果不考虑中途入队。只考虑战前队伍中的人数(包含死亡)即可。有没有简单一点的例子呀。比如不改动系统管理那部分脚本。完全不会写...  发表于 2018-12-24 21:04

评分

参与人数 2星屑 +20 +1 收起 理由
VIPArcher + 20 认可答案
RMVXA + 1 认可答案

查看全部评分

踢腿水上飘 发表于 2018-12-24 17:46:28
  1. case $game_party.members.size
  2. when 1
  3.             ACTOR_POSITION   = [[XX,XX, 0]]
  4. when 2
  5.             ACTOR_POSITION   = [[XX,XX, 0],[XX,XX, 0]]
  6. when 3
  7.             ACTOR_POSITION   = [[XX,XX, 0],[XX,XX, 0],[XX,XX,0]]
  8. when 4
  9.             ACTOR_POSITION   = [[XX,XX, 0],[XX,XX, 0],[XX,XX,0],[XX,XX,0]]
  10. end
复制代码


点评

谢谢大神,这一段直接放到SV里面case $game_party.members.size这一行报错了,是不是在SV里不能直接用呀?  发表于 2018-12-24 21:11

评分

参与人数 2星屑 +20 +1 收起 理由
VIPArcher + 20 我很赞同
RMVXA + 1 认可答案

查看全部评分

RMVXA 发表于 2018-12-24 17:09:57
默认固定位置的话,感觉当队伍人少时有点不协调。
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-23 00:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表