爱问知识人 爱问教育 医院库

制作游戏辅助:用按键精灵如何确定人物朝向?

制作游戏辅助:用按键精灵如何确定人物朝向?


        

提交回答

全部答案

    2018-05-14 04:26:39
  •   按键学院实战班前段时间沸沸扬扬的讲解着自动寻路教程。今天,咱也来跟大家分享分享,实战班自动寻路思路之——确定人物朝向(箭头的方向角度)。
    不少网络游戏已经支持自动寻路,玩家只需要设定终点后,游戏人物即可自动寻路,但是碰到某些未自带自动寻路功能的游戏,就呵呵呵了……
    院刊今天跟大家分享两款热门游戏的人物朝向判定~~知道了人物朝向,再知道目标的朝向,不就知道怎么自动寻路了嘛~
          按键学院实战班的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的地图。下一期的院刊,再跟大家分享另一些不同的地图的寻路方式~~。

    放***

    2018-05-14 04:26:39

类似问题

换一换

相关推荐

正在加载...
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):