游戏辅助制作教程:用按键精灵如何确定人物朝向(以剑灵自动寻路为例)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
游戏辅助制作教程:用按键精灵如何确定人物朝向(以
剑灵自动寻路为例)
来源:按键学院【按键精灵】按键学院实战班前段时间沸沸扬扬的讲解着自动寻路教程。今天,咱也来跟大家分享分享,实战班自动寻路思路之——确定人物朝向(箭头的方向角度)。
不少网络游戏已经支持自动寻路,玩家只需要设定终点后,游戏人物即可自动寻路,但是碰到某些未自带自动寻路功能的游戏,就呵呵呵了……
院刊今天跟大家分享两款热门游戏的人物朝向判定~~知道了人物朝向,再知道目标的朝向,不就知道怎么自动寻路了嘛~
按键学院实战班的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的地图。下一期的院刊,再跟大家分享另一些不同的地图的寻路方式~~