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

Project1

 找回密码
 注册会员
搜索

如何做到每次战斗中随机变换角色站位?

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

正文摘要:

如图: 比如:一开始站位是这样的。 下一场战斗开始前就随机改变站位后再进行。 用队员增减的方法太麻烦了。 请问脚本该怎么处理呢?

回复

guoxiaomi 发表于 2018-2-27 19:52:04
本帖最后由 guoxiaomi 于 2018-2-27 19:53 编辑

就用队员增减啊:
  1. $game_party.actors.sort!{|a, b|
  2.   rand(3) - 2
  3. }
  4. # $game_player.refresh
复制代码

后面的那个refresh是因为地图画面默认显示第1个角色,不调用refresh是不会自动改的

点评

原来如此,虽然这边也有其他方式解决了。但也谢谢版主前辈的解答。  发表于 2018-2-27 22:09

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 突然不用 Array#shuffle

查看全部评分

WantMy蕙 发表于 2018-2-14 23:15:57
本帖最后由 WantMy蕙 于 2018-2-14 23:18 编辑

尝试使用,

  1. actor_x = rand(3) * 160 + 4
复制代码

但是这个做法会使得战斗图有可能重叠,所以必须在后面加判定if actor_x = xxx
然后排除已有的actor_x值,继续进行bitmap
这种思路我建议重新给每个角色赋予一个新的actor_x
比如actoc1_x等等等等
毕竟原版统一actor_x = i * 160 + 4 是为了保证战斗图的顺序和队伍顺序相同,在你的需求下这个前提完全可以删去

点评

稍微明白了,我去试试。  发表于 2018-2-14 23:50
就是在赋予角色的战斗图坐标之前,先进行一个随机计算,使得战斗图的位置可以出现  发表于 2018-2-14 23:42
嗯,,,没看懂前辈的意思呀...  发表于 2018-2-14 23:25
chd114 发表于 2018-2-14 18:29:12
會影響角色行動指令的選擇順序嗎?

点评

战斗前把不上场的角色全部踢掉,在战斗中国,回合开始前先获取4个角色的id,下个回合开始前调整这4个人并刷新显示界面  发表于 2018-2-14 23:34
4个...但不固定的角色。  发表于 2018-2-14 23:31
你一场战斗能上几个人···  发表于 2018-2-14 23:28
这跟事件的队员增减没区别吧...角色多和流程长的话,费时费力还不讨好...  发表于 2018-2-14 18:53
那就在回合結束階段用隊伍角色加入/離開,然後refresh戰鬥界面  发表于 2018-2-14 18:52
defisym 发表于 2018-2-14 17:31:22
四个队员一共只有二十四种可能情况,就算是用事件来做也不会很困难
更不要说这种恶心自己一次做完以后能一直调用的东西了
(不过先手与否不是按照速度来决定的么,单纯的更改站位……貌似也没有什么意义的说_(:з」∠)_

点评

没考虑到游戏过程中的增减队员等操作。只修改单纯的站位就行了,意义在游戏工程才能体现出来哟。  发表于 2018-2-14 18:33
WantMy蕙 发表于 2018-2-14 16:45:26
你这个想法我有想过,我当时的思路是copy几套战斗系统的脚本,分别为主角设定不同的坐标,用不同的类命名
然后在进入战斗前用事件做一个随机抽取一套战斗系统,然后用脚本进入战斗【此处必须是脚本,默认的战斗事件只支持默认的战斗脚本】
比如$Scene_battle.new[1]
等等等【我不记得是中括号还是小括号了2333】
我觉得这种设计适用于怪物从四面八方出现时主角在不同位置进入战斗的不同战斗位置。
不然的话随机出现位置会很奇怪???
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-4-22 20:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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