想法1:
1)用P-1.4的功能寻找屏幕中与血条RGB值相同的点,并获得它的坐标
2)用P-1.3.1的功能使鼠标拖动到该点
3)循环
存在的问题:第一步成功执行,但第二步的问题在于FPS游戏枪口朝向与屏幕的平面坐标无关,P-1.3.1的拖动功能不起作用
想法2:
1)用P-1.4的功能寻找屏幕中与血条RGB值相同的点,并获得它的坐标
2)只使用P-1.3.1的指向功能,获取鼠标移动到目的坐标需要的平面单位方向向量
3)使用PyKeyboard操控”键盘控制鼠标软件”模拟鼠标的拖动,以单位方向方向移动一个微小的距离(目的坐标较远时移动的距离可以适当加大1)
4)循环
存在的问题:所有步骤成功执行,鼠标也能准确地逼近目标位置,但是第一步的耗时太长,导致鼠标移动极其缓慢,改变遍历的步长与搜索的范围也是效果不好,还不治本。
想法3:
通过实验得到鼠标位移一个像素后游戏人物转动的角度
在需要瞄准的时候执行:
1)用P-1.4的功能寻找屏幕中与血条RGB值相同的点,并获得它的坐标
2)在已知屏幕的二维坐标与视角的情况下(在OW等游戏中视角是可调的,视角本身也是可测的2),使用平面几何方法,求出游戏人物在三维空间中需要转动的角度值,并将角度值转化为鼠标需要移动的方向与像素数
3)使用PyKeyboard操控”键盘控制鼠标软件”按已知的方向与像素数模拟鼠标的拖动
存在的问题:预想的功能:在需要瞄准时通过按键触发,准星立刻调转至目标位置
现实的功能:在需要瞄准时通过按键触发,准星短暂延迟后调转至目标位置(依旧是步骤一导致的延迟)
加入循环后的代码