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

Project1

 找回密码
 注册会员
搜索
查看: 2549|回复: 8
打印 上一主题 下一主题

[已经过期] 有没有办法把人物跟随和切换领队系统整合到一起

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2617
在线时间
1967 小时
注册时间
2012-4-25
帖子
141
1
发表于 2013-5-18 19:59:10 | 显示全部楼层
本帖最后由 乱糟糟 于 2013-5-18 20:02 编辑

RUBY 代码复制
  1. #==============================================================================
  2. # 领队更换系统 by SailCat
  3. #------------------------------------------------------------------------------
  4. # 添加此脚本后,在地图画面按下X键更换当前的领队。
  5. # 领队更改不会造成战斗队伍、菜单队伍次序的更改。
  6. # 若要在条件分歧中调用领队,请用脚本:$game_party.leader == 序号
  7. # 序号为0-3的值,最大不会超过队伍的角色数目减1。
  8. #==============================================================================
  9. class Game_Party
  10. #--------------------------------------------------------------------------
  11. # ● 追加实例变量
  12. #--------------------------------------------------------------------------
  13. attr_reader   :leader
  14. alias sailcat_initialize initialize
  15. alias sailcat_setup_starting_members setup_starting_members
  16. #--------------------------------------------------------------------------
  17. # ● 初始化对像
  18. #--------------------------------------------------------------------------
  19. def initialize
  20.    # 生成领队
  21.    @leader = 0
  22.    sailcat_initialize
  23. end
  24. #--------------------------------------------------------------------------
  25. # ● 设置初期同伴
  26. #--------------------------------------------------------------------------
  27. def setup_starting_members
  28.    sailcat_setup_starting_members
  29.    # 生成领队
  30.    @leader = 0
  31. end
  32. #--------------------------------------------------------------------------
  33. # ● 设置领队
  34. #--------------------------------------------------------------------------
  35. def switch_leader
  36.    # @leader += 1
  37.    # @leader %= @actors.size
  38.     id = $game_party.actors[0].id
  39.     $game_party.remove_actor(id)
  40.     $game_party.add_actor(id)
  41. end
  42. end
  43. class Game_Player
  44. alias sailcat_update update
  45. #--------------------------------------------------------------------------
  46. # ● 刷新
  47. #--------------------------------------------------------------------------
  48. def refresh
  49.    # 同伴人数为 0 的情况下
  50.    if $game_party.actors.size == 0
  51.      # 清除角色的文件名及对像
  52.      @character_name = ""
  53.      @character_hue = 0
  54.      # 分支结束
  55.      return
  56.    end
  57.    # 获取带头的角色
  58.    #actor = $game_party.actors[$game_party.leader]
  59.    actor = $game_party.actors[0]
  60.    # 设置角色的文件名及对像
  61.    @character_name = actor.character_name
  62.    @character_hue = actor.character_hue
  63.    # 初始化不透明度和合成方式
  64.    @blend_type = 0
  65. end
  66. #--------------------------------------------------------------------------
  67. # ● 画面更新
  68. #--------------------------------------------------------------------------
  69. def update
  70.    # 按下 A 键的情况下
  71.    if Input.trigger?(Input::A)
  72.      # 更换领队
  73.      $game_party.switch_leader
  74.      refresh
  75.    end
  76.    sailcat_update
  77. end
  78. end


领头替换脚本改成这个
原理是:如果你使用事件把人物离队然后加入此人物,那么他就被放在队列最后一个,把这个和动力火车系统直接合一起就可以实现了……不知道会不会和你的什么脚本冲突。、

点评

感谢啊!可以用的。这个问题终于解决了,太感谢了。  发表于 2013-5-18 21:10

评分

参与人数 1梦石 +1 收起 理由
hys111111 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-5-11 00:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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