赞 | 2 |
VIP | 0 |
好人卡 | 0 |
积分 | 2 |
经验 | 0 |
最后登录 | 2023-11-4 |
在线时间 | 45 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 220
- 在线时间
- 45 小时
- 注册时间
- 2019-10-1
- 帖子
- 35
|
本帖最后由 蝉17 于 2021-6-24 02:46 编辑
感谢大佬!
这个插件确实可行。至少可以做到在简单的地形中跟玩家玩捉迷藏不被轻易卡住。
在我的游戏里,需要一只让玩家捉不住的猫,地图很小,且玩家走一步,猫会走两步。
然后我用的办法是这样:
记录事件坐标,
移动指令:事件远离玩家
再次记录事件坐标并与之前的坐标比较,如果坐标没变化,说明事件卡墙了。
执行Hug Left Wall,随机方向往墙角外走出一步。
再再次记录事件坐标,判断事件刚才那一步是往哪个方向走,然后沿同样方向再走一步。
这样是为了防止执行过Hug Left Wall紧接着再执行“远离主角”会导致事件回到原来的位置,再次卡墙角,所以要沿一个方向走两步。
之后就能随便“远离主角”了,直到下一次卡墙。
不能连续执行两次Hug Left Wall,连续两次随机移动很可能让事件一头撞到主角身边。
这样做了以后,绝大部分情况不会卡住了,不过还是会有个别位置会卡,
把会卡住的位置以及在卡住时容易被玩家抓住的玩家的位置记录下来,
做一些条件判断,万一再遇到这种情况,就按照提前预备好的特定的策略行动,也就是人为设置路线,
这样也就把剩下的可能卡住的位置清扫干净了。
在不复杂的地形里捉迷藏不会被轻易抓住。
也许可以参考,具体情况具体调整,怎么调整还得看事件与主角的移动速度比。
麻烦是麻烦了点,谁让我不懂算法呢,只好拿工作量来补知识的欠缺了 |
评分
-
查看全部评分
|