赞 | 112 |
VIP | 0 |
好人卡 | 0 |
积分 | 112 |
经验 | 10083 |
最后登录 | 2024-11-15 |
在线时间 | 2066 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 11175
- 在线时间
- 2066 小时
- 注册时间
- 2013-6-10
- 帖子
- 1516
|
我来分析一下,你设置移动路线的时候,用的是事件页左侧的(也就是设置行走图图片的右边)的那个设置移动路线,而并非事件面板第二页的设置移动路线。而你更改移动速度时,用的却是事件面板第二页的设置移动路线,造成了移动路线的刷新,故而在对话后移动路线不会继续照着原来的轨迹走,而是重新再来一遍。
要解决这个问题,用纯事件是相当麻烦的(因为rpg maker mv在这块设计的并不周全,具体怎么不周全,文末会有讲述),需要结合代码。
具体来讲,可以在对话后开启一个开关,比如编号22,名为对话结束,让这个开关处于on状态,原先的更改移动频率指令就可以删除了,用这个开关指令来代替。然后在事件页左侧,也就是行走图右侧的那个设置移动路线里,使用脚本功能,写入以下代码:
if($gameSwitches.value(22)){this._moveSpeed= 6}
意思是,如果22号开关为on状态,那么本事件的移动速度改为6。
为了能起到即时效益,这行脚本应该被粘贴很多次,在所有你原先设置的移动路线之间都应该插入这个脚本。(因为你不知道移动进行到哪一步时玩家和士兵对话了,所以在每一步移动指令下都插入这个脚本,保证开关打开后能立马改变移动速度)。
关于上述脚本的补充:
22为开关编号,你设置的几号就写几号,根据需要修改。
moveSpeed可以改为moveFrequency,意为更改移动频率,也可以起到速度变快的视觉效果,最后的数字6代表最高移速级别,可以根据需求修改。
文末,总结一下mv的设计不周全之处。从这个代码可以看出,之所以要用这个代码写,是因为mv的设置移动路线里没有自带条件分歧功能,所以只好自己写if语句判断了。 |
|