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

Project1

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

[讨论] 怎样在调整移动速度后不打断移动路线?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
218
在线时间
15 小时
注册时间
2022-4-14
帖子
29
跳转到指定楼层
1
发表于 2022-4-17 15:39:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我设计的场景是,士兵在地图上按移动路线行走,玩家与将军对话后士兵移动速度加快。前几步都成功实现了,但到了最后一步移动速度变快后士兵的移动路线就被重置到了最开始的一步了,这导致士兵不再按照最开始的路线上在地图行走了。
所以我的问题是,如何创建一个事件在不打乱规划的行走路线的同时提高移动速度?

https://steamcommunity.com/id/zomblekingdom/

Lv1.梦旅人

梦石
0
星屑
218
在线时间
15 小时
注册时间
2022-4-14
帖子
29
2
 楼主| 发表于 2022-4-17 15:41:33 | 只看该作者
是我的论坛等级不够还是论坛服务器存不了图片,我上传图片都失败。。。
https://steamcommunity.com/id/zomblekingdom/
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5687
在线时间
603 小时
注册时间
2020-2-20
帖子
223
3
发表于 2022-4-17 15:59:42 | 只看该作者
可以考虑用一下开关或者变量……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
218
在线时间
15 小时
注册时间
2022-4-14
帖子
29
4
 楼主| 发表于 2022-4-17 16:34:54 | 只看该作者
nie89 发表于 2022-4-17 15:59
可以考虑用一下开关或者变量……

我是用了开关发现会重置规划的路线,变量我不知道怎么在这种场景下使用,大佬可以给个思路吗
https://steamcommunity.com/id/zomblekingdom/
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5687
在线时间
603 小时
注册时间
2020-2-20
帖子
223
5
发表于 2022-4-17 17:00:05 | 只看该作者
唔,没用图好像不太好说明。你的兵,是一直在地图上循环巡逻,对吧,假如,对话之前速度2,对话之后速度4,那么在对话那里,加入一个开关,比如,打开“士兵增速”,然后地图上建立一个事件,并行处理,当“士兵增速”打开时激活,更改士兵ABCD的速度为4.这样会复原位置吗?你可以试试看……
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
34730
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

6
发表于 2022-4-17 18:31:24 | 只看该作者
不要用事件指令的移动路线,用事件脚本去直接改那个速度的变量
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
218
在线时间
15 小时
注册时间
2022-4-14
帖子
29
7
 楼主| 发表于 2022-4-17 18:43:34 | 只看该作者
nie89 发表于 2022-4-17 17:00
唔,没用图好像不太好说明。你的兵,是一直在地图上循环巡逻,对吧,假如,对话之前速度2,对话之后速度4, ...

确实没图真的表述不清而且我自己先天也表述能力差。。。
我的设计思路和你说的一样,但实现起来的结果就是我一开始说的那样因为重置了移动路线而跑偏地图。我的地图上画了个跑道,所以他跑的路线不能因为我调整对话而重置否则的话他就不在跑道上按路线跑了。
https://steamcommunity.com/id/zomblekingdom/
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
218
在线时间
15 小时
注册时间
2022-4-14
帖子
29
8
 楼主| 发表于 2022-4-17 18:47:25 | 只看该作者
百里_飞柳 发表于 2022-4-17 18:31
不要用事件指令的移动路线,用事件脚本去直接改那个速度的变量

怎么在脚本修改速度呢
https://steamcommunity.com/id/zomblekingdom/
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11175
在线时间
2066 小时
注册时间
2013-6-10
帖子
1516
9
发表于 2022-4-17 20:40:41 | 只看该作者
我来分析一下,你设置移动路线的时候,用的是事件页左侧的(也就是设置行走图图片的右边)的那个设置移动路线,而并非事件面板第二页的设置移动路线。而你更改移动速度时,用的却是事件面板第二页的设置移动路线,造成了移动路线的刷新,故而在对话后移动路线不会继续照着原来的轨迹走,而是重新再来一遍。

要解决这个问题,用纯事件是相当麻烦的(因为rpg maker mv在这块设计的并不周全,具体怎么不周全,文末会有讲述),需要结合代码。

具体来讲,可以在对话后开启一个开关,比如编号22,名为对话结束,让这个开关处于on状态,原先的更改移动频率指令就可以删除了,用这个开关指令来代替。然后在事件页左侧,也就是行走图右侧的那个设置移动路线里,使用脚本功能,写入以下代码:
if($gameSwitches.value(22)){this._moveSpeed= 6}
意思是,如果22号开关为on状态,那么本事件的移动速度改为6。
为了能起到即时效益,这行脚本应该被粘贴很多次,在所有你原先设置的移动路线之间都应该插入这个脚本。(因为你不知道移动进行到哪一步时玩家和士兵对话了,所以在每一步移动指令下都插入这个脚本,保证开关打开后能立马改变移动速度)。

关于上述脚本的补充:
22为开关编号,你设置的几号就写几号,根据需要修改。
moveSpeed可以改为moveFrequency,意为更改移动频率,也可以起到速度变快的视觉效果,最后的数字6代表最高移速级别,可以根据需求修改。

文末,总结一下mv的设计不周全之处。从这个代码可以看出,之所以要用这个代码写,是因为mv的设置移动路线里没有自带条件分歧功能,所以只好自己写if语句判断了。
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
218
在线时间
15 小时
注册时间
2022-4-14
帖子
29
10
 楼主| 发表于 2022-4-17 23:39:40 | 只看该作者
小怪兽奇奇侠 发表于 2022-4-17 20:40
我来分析一下,你设置移动路线的时候,用的是事件页左侧的(也就是设置行走图图片的右边)的那个设置移动路 ...

谢谢大佬!成功实现了!!!唉,我一点代码都不会才开始学用RPG制作大师的,没想到这么快就遇到功能局限性了嘛

点评

看了楼上的回复之后,我发现,事实上还有更简便的做法...你直接把那个脚本丢到对话完后就可以了,就不用设置那个开关,也不用复制粘贴了  发表于 2022-4-18 00:35
https://steamcommunity.com/id/zomblekingdom/
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-21 22:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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