Project1

标题: 如何让NPC绕过障碍物以最短距离到达某坐标 [打印本页]

作者: CCD0645    时间: 2018-4-2 03:40
标题: 如何让NPC绕过障碍物以最短距离到达某坐标
要让NPC到达某坐标,如果没有障碍物的情况下很容易,判断XY坐标,X大于目的地则向左走,小于则向右走诸如此类。
但一但遇到不通行的障碍物时,就复杂了很多。尤其是将NPC放进迷宫里,该怎样才能让它以最短距离走出迷宫呢?

作者: ikki    时间: 2018-4-2 07:22
我记得有个Java的栗子是专门做了这个,然后,将其翻译过来就OK啦。
作者: 芯☆淡茹水    时间: 2018-4-2 08:01
MV 默认的自寻路功能还行,只是RGSS用自寻路的地方不多,没人愿意过来。
作者: guoxiaomi    时间: 2018-4-2 08:56
用a*寻路呗
作者: 灯笼菜刀王    时间: 2018-4-2 09:34
真正的Ai自动寻路咱是不会写啦, 不过咱有个取巧的方法可以用于复杂途径NPC寻路

因为地图是自己画的嘛, 所以,在复杂岔路口埋个隐形事件做标志, 事件接触触发, 给某个变量赋值, 然后NPC的行动方式上就设置, XX==0的时候直线走 == 2的时候往下, == 8 的时候往上........要是无目的的话,大可加上条件分歧判断, 面向XX的时候... 角色坐标大于XX的时候....


作者: shitake    时间: 2018-4-2 19:54
https://qiao.github.io/PathFinding.js/visual/
作者: myownroc    时间: 2018-4-6 15:46
诸如此类:https://rpg.blue/forum.php?mod=viewthread&tid=369348 ?
作者: CCD0645    时间: 2018-4-7 21:31
myownroc 发表于 2018-4-6 15:46
诸如此类:https://rpg.blue/forum.php?mod=viewthread&tid=369348 ?



就是这样,把移动到某位置的脚本写在移动路线里面,就会出现遇到障碍物角色不动的情况 FindPath000.zip (207.48 KB, 下载次数: 52)
作者: CCD0645    时间: 2018-4-9 20:36
CCD0645 发表于 2018-4-7 21:31
就是这样,把移动到某位置的脚本写在移动路线里面,就会出现遇到障碍物角色不动的情况 ...

@myownroc
作者: myownroc    时间: 2018-4-14 19:54
本帖最后由 myownroc 于 2018-4-14 20:13 编辑


以上内容可以无视
emmmmm  正在解决遇到障碍停止的问题




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