有个游戏,这个游戏没有坐标,人物是定点在屏幕中心的,中心点为400,235
我用的是找NPC的名字,找到后移动过去
每次走动的话 目标的XY值都会发生变化
用中心点跟NPC的XY坐标 之间的差值做比较,来判定距离,
距离近了就按Esc退出行走,距离远了就继续行走
不断的读取目标的XY值来判定距离
这个方法可行
可是有一个问题,如果中间与东西或者其他玩家卡主了就不走动了,
所以我想加一个判定卡位的功能
我自己有一个想法,但是不知道怎么实现,不知道该怎么写
想法是这样的
我用 中心点跟目标之间 的 距离值 有没有 发生变化 来判定是否卡位
如果 两者之前的 距离值 没有发生变化,说明卡住了,需要其他的操作比如说走位
但我不知道应该怎么写判断 两者之前的 距离值 没有发生变化
新手刚看视频学了几天
请高手给点指教,谢谢了
////调用功能的时候传入A,B, A是目标点的鼠标X值,B是目标点的鼠标Y值
功能 距离判定(A,B)////中心点400,235
调试输出("计算距离")
变量 A差值,B差值
距离开关 = 假 ////我做了这个开关,声明了全局变量,在调用这个功能的时候用来判定
A差值 = 100
B差值 = 100
如果(400 >= A)
A差值 = 400 - A
否则
A差值 = A - 400
结束
如果(235 >= B)
B差值 = 235 - B
否则
B差值 = B - 235
结束
如果(A差值 <= 60 && B差值 <= 45)///////这个距离可以点到NPC
调试输出("A差值:" & A差值 & "," & "B差值:" & B差值)
dm.KeyPress(27)/////到达距离后按Esc停止移动
等待(50)
dm.KeyPress(27)
距离开关 = 真
否则
调试输出("A差值:" & A差值 & "," & "B差值:" & B差值)
距离开关 = 假
结束
结束