自动寻路之——如何确定人物朝向(剑灵)
按键学院实战班前段时间沸沸扬扬的讲解着自动寻路教程。今天,咱院刊也来跟大家分享分享,实战班07老师的自动寻路思路之——确定人物朝向(箭头的方向角度)。 |
不少网络游戏已经支持自动寻路,玩家只需要设定终点后,游戏人物即可自动寻路,但是碰到某些未自带自动寻路功能的游戏,就呵呵呵了……
院刊今天跟大家分享两款热门游戏的人物朝向判定~~知道了人物朝向,再知道目标的朝向,不就知道怎么自动寻路了嘛~
按键学院实战班的07老师整理了自动寻路的三要素,给大家分享:
自动寻路一般需要确定三个要素: 确定路线 确定朝向 确定位置
|
确定了人物位置和物品位置,再确定了人物的朝向,与目标路线。将人物转向目标就可以用脚本实现自动寻路的功能。
剑灵模式的地图的寻路:游戏画面右上角有小地图,地图中灰白色箭头代表人物。
- 您所在的用户组无法下载或查看附件
三角函数知识:
- 您所在的用户组无法下载或查看附件
斜率:已知A、B点坐标,求直线AB的斜率。 斜率公式k=(y1-y2)/(x1-x2),即两个坐标纵坐标之差,除以两个坐标横坐标之差。
|
正切函数:正切函数是直角三角形中,对边与邻边的比值。 在上图中,即 tanα=b/a=(y2-y1)/(x2-x1)。在按键精灵中为Tan函数。 通过公式对比,我们可以知道,直线AB的斜率,即角α的正切值 |
角度:已知角α的正切值,我们可以通过反三角函数公式,来计算这个角度的值。 α=arctan(k)。在按键精灵中为Atn函数。 反三角函数:即相对应的正弦、余弦、正切、余切为x的角。 |
如何实现箭头角度计算:
从上面的三角函数知识拓展中,我们知道,要计算一个角度,可以通过计算该角度的正切值,再通过反三角函数来求这个角度。
那么,在按键精灵的代码中如何实现呢?
思路: 1. 通过找图找色命令,找到箭头顶部A的坐标,以及箭头底部中间B的坐标。 2. 构建直角三角形。确定箭头的指向的角度α。 3. 通过斜率/正切函数,来计算角度α的正切值。 4. 通过反三角函数,来得出角α的角度值。 |
代码实现:
- ‘在剑灵右上角的小地图里找色/找图,箭头坐标存储在(x1,y1),箭尾坐标存储在(x2,y2)
- FindColor1200,0,1920,300,"箭头颜色",x1,y1
- If x1 > 0 And y1> 0 Then
- End If
- FindColor1200,0,1920,300,"箭尾颜色",x2,y2
- If x1 > 0 And y1> 0 Then
- End If
- '计算斜率/正切值
- 斜率 = (y1 - y2) / (x1 -x2)
- '计算角度
- 角度 = Atn(斜率)
复制代码
当然,自动寻路并不是单一的方式,不同游戏的地图不同,寻路的方式不同。但是运用到的数学知识和思路是共同的。当然,有些特定的地图有更便捷的方式,例如最终幻想14的地图。下一期的院刊,再跟大家分享另一些不同的地图的寻路方式~~
本文由按键学院提供技术支持
按键学院实战班(即将入驻最终幻想)火热招生
按键学院基础视频抢先观看