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

Project1

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

[已经解决] 如何做到每次战斗中随机变换角色站位?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
帖子
1231
跳转到指定楼层
1
发表于 2018-2-14 15:37:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
如图:

比如:一开始站位是这样的。
下一场战斗开始前就随机改变站位后再进行。
用队员增减的方法太麻烦了。
请问脚本该怎么处理呢?
一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。

Lv3.寻梦者

梦石
0
星屑
2724
在线时间
227 小时
注册时间
2016-3-27
帖子
576
2
发表于 2018-2-14 16:45:26 | 只看该作者
你这个想法我有想过,我当时的思路是copy几套战斗系统的脚本,分别为主角设定不同的坐标,用不同的类命名
然后在进入战斗前用事件做一个随机抽取一套战斗系统,然后用脚本进入战斗【此处必须是脚本,默认的战斗事件只支持默认的战斗脚本】
比如$Scene_battle.new[1]
等等等【我不记得是中括号还是小括号了2333】
我觉得这种设计适用于怪物从四面八方出现时主角在不同位置进入战斗的不同战斗位置。
不然的话随机出现位置会很奇怪???
现在还能改名吗qwq
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5039
在线时间
1780 小时
注册时间
2012-7-3
帖子
1799

开拓者

3
发表于 2018-2-14 17:31:22 | 只看该作者
四个队员一共只有二十四种可能情况,就算是用事件来做也不会很困难
更不要说这种恶心自己一次做完以后能一直调用的东西了
(不过先手与否不是按照速度来决定的么,单纯的更改站位……貌似也没有什么意义的说_(:з」∠)_

点评

没考虑到游戏过程中的增减队员等操作。只修改单纯的站位就行了,意义在游戏工程才能体现出来哟。  发表于 2018-2-14 18:33
Project Ktr进行中:
   
------------------
SRPG开发之六-天气与地形互动
→→围观
→→→去Lofter围观
------------------
离经叛道的扯淡者/伪独立游戏爱好者/Decade Studio(?)/造轮子真TM开心呀
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

4
发表于 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
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2724
在线时间
227 小时
注册时间
2016-3-27
帖子
576
5
发表于 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
现在还能改名吗qwq
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

6
发表于 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

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 14:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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