马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 lytslyts 于 2015-5-8 15:49 编辑
有个游戏,这个游戏没有坐标,人物是定点在屏幕中心的,中心点为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差值)
距离开关 = 假
结束
结束
|