按键精灵 游戏找图 跟 定位点一直有偏差怎么解决
1个回答
2013-12-05
展开全部
因为梦幻又鼠标便宜,现在大多得回合游戏都有.
解决办法基本2个最简单得,
第1个读内存坐标,那个CE几下就找到基质,根据坐标基质在移动鼠标
第2个时抓那鼠标图形,,1班又偏移得游戏鼠标都会有图形并且鼠标移动金窗口内时,不管鼠标怎么移动只要那鼠标图形没道边上都时无法吧鼠标移动出来得,你要现做1个移动得计算函数,当你输入移动道某点坐标时,先抓取手得图片位置,计算距离相对在从改点移动,比方说,你要移动道100,100位置,当前鼠标在200,300位置,则你鼠标只要在当前位置左移动100,上移动200,(记住时当前位置移动,)然后在1次计算图片到哪了,如果还没到100,100位置,在第2次计算要移动得值,比如移动到了80,120位置,则鼠标向又20,鼠标在向上20位置,然后在计算图片位置,1班3次左右就会非常精准了......
如果不懂.那就别搞梦幻了,梦幻对新手不适合,以下是代码
Call 鼠标移动到(100,100,2)
Call 鼠标移动到(100,100,2)
Call 鼠标移动到(100,100,2)
Call 鼠标移动到(100,100,2)
Call 鼠标移动到(100,100,2)
//以上坐标可以自己修改.....
//自己增加坐标只要移动准确得话这样可以全世界都走完想去哪就去哪
//因为我没游戏没法测试,大概思路就那样自己玩吧
EndScript
Function 鼠标移动到(x,y,精确值)
FindPic 0,0,1024,768,"Attachment:\手得图片自己抓图.bmp",0.9,intX,intY
If intX > 0 And intY > 0 Then
if intx>=x-精确值 and intx<=x+精确值 and inty>=y-精确值 and inty<=y+精确值
//如果当2个坐标和我走到得坐标相差不超过精确值既鼠标点击移动过去退出函数
//比方精确值为1,我们要移动道100,100位置,鼠标不会偏超过1个像素
LeftClick 1
Delay 100
while 判断是否在移动()=1
//先判断是否在走路,如果在则等他到达后在进行别得事情
wend
exit Function
End If
偏移x = Abs((intx - x))
//获取鼠标图片到我们想移动到位置横得相差值
偏移y = Abs((inty - y))
//获取鼠标图片到我们想移动到位置竖得相差值
If intx > x Then
//如果鼠标图片横位置大于要移动过去得横得位置则证明鼠标要向左移动
intx=intx - 偏移x
Else
//否则即为右移动
intx=intx+ 偏移x
End If
If inty < y Then
//如果鼠标图片竖位置大于要移动过去的竖位置则证明鼠标要向上移动
inty = inty - 偏移y
Else
//否则即为向下
inty=inty+ 偏移y
End If
MoveTo intx,inty
Delay 10
鼠标移动到=鼠标移动到(x,y,精确值)
//鼠标为达到精确得位置继续调用自己调整鼠标
else
MessageBox "找不见鼠标图片"
End If
End Function
Function 判断是否在移动()
///这里自己些上1些判断,比如坐标,比如某些点得颜色
//如果你会大漠或者会抓坐标点阵,那个更准确
GetColor=GetPixelColor(10,10)
GetColor1=GetPixelColor(15,15)
GetColor2=GetPixelColor(20,20)
//因为我没游戏,比方某些会动得地方,就上面3个位置比方时会动得画面
Delay 2000
if GetPixelColor(10,10)=GetColor
if GetPixelColor(15,15)=GetColor1
If GetPixelColor(20, 20) = GetColor2 Then
//如果2秒那3个点颜色都不变代表人物不动了可能是到达了
判断是否在移动=0
exit Function
End if
End if
End If
判断是否在移动=1
//如果点颜色和2秒后得3个点颜色不同,代表还在移动,函数返回1,返回什么都行,只是比较好记而已,
//因为函数名字教判断是否在移动,肯定是或者,计算机1班都时1为真,0为假,所以返回1比较好理解
End Function
解决办法基本2个最简单得,
第1个读内存坐标,那个CE几下就找到基质,根据坐标基质在移动鼠标
第2个时抓那鼠标图形,,1班又偏移得游戏鼠标都会有图形并且鼠标移动金窗口内时,不管鼠标怎么移动只要那鼠标图形没道边上都时无法吧鼠标移动出来得,你要现做1个移动得计算函数,当你输入移动道某点坐标时,先抓取手得图片位置,计算距离相对在从改点移动,比方说,你要移动道100,100位置,当前鼠标在200,300位置,则你鼠标只要在当前位置左移动100,上移动200,(记住时当前位置移动,)然后在1次计算图片到哪了,如果还没到100,100位置,在第2次计算要移动得值,比如移动到了80,120位置,则鼠标向又20,鼠标在向上20位置,然后在计算图片位置,1班3次左右就会非常精准了......
如果不懂.那就别搞梦幻了,梦幻对新手不适合,以下是代码
Call 鼠标移动到(100,100,2)
Call 鼠标移动到(100,100,2)
Call 鼠标移动到(100,100,2)
Call 鼠标移动到(100,100,2)
Call 鼠标移动到(100,100,2)
//以上坐标可以自己修改.....
//自己增加坐标只要移动准确得话这样可以全世界都走完想去哪就去哪
//因为我没游戏没法测试,大概思路就那样自己玩吧
EndScript
Function 鼠标移动到(x,y,精确值)
FindPic 0,0,1024,768,"Attachment:\手得图片自己抓图.bmp",0.9,intX,intY
If intX > 0 And intY > 0 Then
if intx>=x-精确值 and intx<=x+精确值 and inty>=y-精确值 and inty<=y+精确值
//如果当2个坐标和我走到得坐标相差不超过精确值既鼠标点击移动过去退出函数
//比方精确值为1,我们要移动道100,100位置,鼠标不会偏超过1个像素
LeftClick 1
Delay 100
while 判断是否在移动()=1
//先判断是否在走路,如果在则等他到达后在进行别得事情
wend
exit Function
End If
偏移x = Abs((intx - x))
//获取鼠标图片到我们想移动到位置横得相差值
偏移y = Abs((inty - y))
//获取鼠标图片到我们想移动到位置竖得相差值
If intx > x Then
//如果鼠标图片横位置大于要移动过去得横得位置则证明鼠标要向左移动
intx=intx - 偏移x
Else
//否则即为右移动
intx=intx+ 偏移x
End If
If inty < y Then
//如果鼠标图片竖位置大于要移动过去的竖位置则证明鼠标要向上移动
inty = inty - 偏移y
Else
//否则即为向下
inty=inty+ 偏移y
End If
MoveTo intx,inty
Delay 10
鼠标移动到=鼠标移动到(x,y,精确值)
//鼠标为达到精确得位置继续调用自己调整鼠标
else
MessageBox "找不见鼠标图片"
End If
End Function
Function 判断是否在移动()
///这里自己些上1些判断,比如坐标,比如某些点得颜色
//如果你会大漠或者会抓坐标点阵,那个更准确
GetColor=GetPixelColor(10,10)
GetColor1=GetPixelColor(15,15)
GetColor2=GetPixelColor(20,20)
//因为我没游戏,比方某些会动得地方,就上面3个位置比方时会动得画面
Delay 2000
if GetPixelColor(10,10)=GetColor
if GetPixelColor(15,15)=GetColor1
If GetPixelColor(20, 20) = GetColor2 Then
//如果2秒那3个点颜色都不变代表人物不动了可能是到达了
判断是否在移动=0
exit Function
End if
End if
End If
判断是否在移动=1
//如果点颜色和2秒后得3个点颜色不同,代表还在移动,函数返回1,返回什么都行,只是比较好记而已,
//因为函数名字教判断是否在移动,肯定是或者,计算机1班都时1为真,0为假,所以返回1比较好理解
End Function
上海特金
2024-08-07 广告
2024-08-07 广告
无人机定位系统是指通过无人机上的传感器或其他设备,获取无人机的位置和状态信息,并将这些信息通过网络或其他通信方式传输到指定的接收端,以实现对无人机的控制和管理。无人机定位系统通常由以下几个部分组成:1. 无人机传感器:包括高清摄像头、GPS...
点击进入详情页
本回答由上海特金提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询