Project1

标题: 怎样在调整移动速度后不打断移动路线? [打印本页]

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


作者: zomblekingdom    时间: 2022-4-17 15:41
是我的论坛等级不够还是论坛服务器存不了图片,我上传图片都失败。。。
作者: nie89    时间: 2022-4-17 15:59
可以考虑用一下开关或者变量……
作者: zomblekingdom    时间: 2022-4-17 16:34
nie89 发表于 2022-4-17 15:59
可以考虑用一下开关或者变量……

我是用了开关发现会重置规划的路线,变量我不知道怎么在这种场景下使用,大佬可以给个思路吗
作者: nie89    时间: 2022-4-17 17:00
唔,没用图好像不太好说明。你的兵,是一直在地图上循环巡逻,对吧,假如,对话之前速度2,对话之后速度4,那么在对话那里,加入一个开关,比如,打开“士兵增速”,然后地图上建立一个事件,并行处理,当“士兵增速”打开时激活,更改士兵ABCD的速度为4.这样会复原位置吗?你可以试试看……
作者: 百里_飞柳    时间: 2022-4-17 18:31
不要用事件指令的移动路线,用事件脚本去直接改那个速度的变量
作者: zomblekingdom    时间: 2022-4-17 18:43
nie89 发表于 2022-4-17 17:00
唔,没用图好像不太好说明。你的兵,是一直在地图上循环巡逻,对吧,假如,对话之前速度2,对话之后速度4, ...

确实没图真的表述不清而且我自己先天也表述能力差。。。
我的设计思路和你说的一样,但实现起来的结果就是我一开始说的那样因为重置了移动路线而跑偏地图。我的地图上画了个跑道,所以他跑的路线不能因为我调整对话而重置否则的话他就不在跑道上按路线跑了。
作者: zomblekingdom    时间: 2022-4-17 18:47
百里_飞柳 发表于 2022-4-17 18:31
不要用事件指令的移动路线,用事件脚本去直接改那个速度的变量

怎么在脚本修改速度呢
作者: 小怪兽奇奇侠    时间: 2022-4-17 20:40
我来分析一下,你设置移动路线的时候,用的是事件页左侧的(也就是设置行走图图片的右边)的那个设置移动路线,而并非事件面板第二页的设置移动路线。而你更改移动速度时,用的却是事件面板第二页的设置移动路线,造成了移动路线的刷新,故而在对话后移动路线不会继续照着原来的轨迹走,而是重新再来一遍。

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

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

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

文末,总结一下mv的设计不周全之处。从这个代码可以看出,之所以要用这个代码写,是因为mv的设置移动路线里没有自带条件分歧功能,所以只好自己写if语句判断了。
作者: zomblekingdom    时间: 2022-4-17 23:39
小怪兽奇奇侠 发表于 2022-4-17 20:40
我来分析一下,你设置移动路线的时候,用的是事件页左侧的(也就是设置行走图图片的右边)的那个设置移动路 ...

谢谢大佬!成功实现了!!!唉,我一点代码都不会才开始学用RPG制作大师的,没想到这么快就遇到功能局限性了嘛
作者: 小怪兽奇奇侠    时间: 2022-4-18 00:22
zomblekingdom 发表于 2022-4-17 23:39
谢谢大佬!成功实现了!!!唉,我一点代码都不会才开始学用RPG制作大师的,没想到这么快就遇到功能局限 ...

倒也不是,外界对rpg大师的固有印象就是门槛低,限制大。其实mv总体上讲相当强大的,这个问题算不上功能局限,我的方法也并非是唯一解,用自带功能也可以解决的,只是我认为用代码能简便一些。

关于局限问题,在时代发展的进程中,创意是不断涌现的,智者千虑尚有一失,自带的功能再大再全难免会有疏漏的地方,为此指令板里有脚本选项,事实上mv事件指令器里的脚本功能可以运行各种代码,只要会用上限很高。一开始谁也不会,慢慢学习就会有所进步。共勉。
作者: zomblekingdom    时间: 2022-4-18 00:43
小怪兽奇奇侠 发表于 2022-4-18 00:22
倒也不是,外界对rpg大师的固有印象就是门槛低,限制大。其实mv总体上讲相当强大的,这个问题算不上功能 ...

请问类似这种代码论坛有教程嘛?虽然我只是练习学会如何使用开关事件,但这也是为日后设计游戏做铺垫,毕竟地图NPC没有点互动细节那观感也就80年代的勇者斗恶龙,这样的游戏至少我是没有玩的动力。
作者: zomblekingdom    时间: 2022-4-18 00:44
小怪兽奇奇侠 发表于 2022-4-18 00:22
倒也不是,外界对rpg大师的固有印象就是门槛低,限制大。其实mv总体上讲相当强大的,这个问题算不上功能 ...

我觉得没有你的代码只靠事件内的功能是无法实现的,因为我每次来论坛发帖问之前就已经尝试过了。
作者: zomblekingdom    时间: 2022-4-18 00:46
小怪兽奇奇侠 发表于 2022-4-18 00:22
倒也不是,外界对rpg大师的固有印象就是门槛低,限制大。其实mv总体上讲相当强大的,这个问题算不上功能 ...


回一下点评,你说的我一开始就试了(因为懒) 但结果是不行角色速度根本没有任何改变,必须得每个移动指令下都有一行脚本才能实现
作者: 小怪兽奇奇侠    时间: 2022-4-18 01:19
噢噢,那可能必须得在移动路线里用脚本才可以。

类似这种脚本可以在论坛搜索“事件脚本”得到一堆,基本上随用随查,不过像修改移动速度这类的没有囊括进去,需要自己在游戏源代码找。

关于学习方法以前已经有很多人讨论过了,你可以搜索关键词看看有没有适合你的。
作者: zomblekingdom    时间: 2022-4-18 01:21
小怪兽奇奇侠 发表于 2022-4-18 01:19
噢噢,那可能必须得在移动路线里用脚本才可以。

类似这种脚本可以在论坛搜索“事件脚本”得到一堆,基本上 ...

都需要查源代码了嘛,唉做游戏真的好难,萌生退意
作者: 小怪兽奇奇侠    时间: 2022-4-18 02:23
zomblekingdom 发表于 2022-4-18 01:21
都需要查源代码了嘛,唉做游戏真的好难,萌生退意

。。。事实上没有你想象的那么复杂,因为mv各种方法的命名都是根据对应英文起名字的,所以可以很轻松地找到。我依旧鼓励你坚持下去,因为这点微不足道的东西放弃实在太可惜了。如果你实在要放弃,我也只能言尽于此了。
作者: zomblekingdom    时间: 2022-4-18 11:17
小怪兽奇奇侠 发表于 2022-4-18 02:23
。。。事实上没有你想象的那么复杂,因为mv各种方法的命名都是根据对应英文起名字的,所以可以很轻松地找 ...

目前主要难度就是我不知道如何更有效的实现我想要表现的场景和设计,这还只是NPC的细节设计就碰到了事件局限性,如果到装备合成,战斗和UI布局呢?最后就是我真的很怕花时间学完之后发现做出来的游戏和上世纪80年代的勇者斗恶龙差不多的水平。
目前只是有些悲观看法,但还没放弃,不然我也不会写这么多评论回你而是直接去玩游戏了
作者: 小怪兽奇奇侠    时间: 2022-4-18 12:14
zomblekingdom 发表于 2022-4-18 11:17
目前主要难度就是我不知道如何更有效的实现我想要表现的场景和设计,这还只是NPC的细节设计就碰到了事件 ...

晕,事件当然不是万能的呀,如果事件是万能的,那还用插件做什么呢?很遗憾地告诉你,装备合成、战斗和ui布局都不在事件范畴。古人云骐骥一跃,姑且不能十步,你一口又怎能吃成个大胖子呢?初学阶段的作品肯定就是80年代勇者斗恶龙的水平,甚至还不如。

至于rm能做出怎样效果的作品,和使用者水平关系很大。你现在就是见得太少了,与其纠结自己最终做出来的品质如何,倒不如看看论坛上其他人做出的游戏品质,你就不会怀疑软件的问题了。博览群游之后,你到底要不要走下去,心中也自有答案。
作者: zomblekingdom    时间: 2022-4-18 16:29
小怪兽奇奇侠 发表于 2022-4-18 12:14
晕,事件当然不是万能的呀,如果事件是万能的,那还用插件做什么呢?很遗憾地告诉你,装备合成、 ...

目前我还是根据我自己游戏草稿需要实现什么就先学什么,所以我对RPGMAKER的理解也是渐进式的,系统且完整学习一是找不到合适的教程(论坛里有个教程居然因为作者被封禁而看不到了)二是缺少游戏实例做参考就是我学完不知道怎么用或用在哪。

作者: zomblekingdom    时间: 2022-4-18 16:42
小怪兽奇奇侠 发表于 2022-4-18 12:14
晕,事件当然不是万能的呀,如果事件是万能的,那还用插件做什么呢?很遗憾地告诉你,装备合成、 ...

大佬有个问题,论坛里的脚本没有事件的功能,就像你前面告诉我怎么做到在开关之后的速度变化。我现在想要设计一个场景,NPC在与玩家对话后原地跳跃并继续按规定路线行走,玩家在对话结束后后退一步变可穿透然后过几秒后穿透关闭,我想用你教我的if($gameSwitches.value(22)){this._moveSpeed= 6}的这种脚本来实现但我不知道跳跃、后退和穿透是什么代码。
作者: zomblekingdom    时间: 2022-4-18 16:50
小怪兽奇奇侠 发表于 2022-4-18 12:14
晕,事件当然不是万能的呀,如果事件是万能的,那还用插件做什么呢?很遗憾地告诉你,装备合成、 ...

大佬可以方便私聊嘛




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1