游戏窗口的鼠标坐标和实际的坐标不一致,怎么换算?
的有关信息介绍如下:这个有很多种写法
写法一
1 先将鼠标指向游戏窗口获取游戏窗口句柄
Hwnd = Plugin.Window.MousePoint()
2建立一个动态数组
dim MyArray
3通过获取到的句柄Hwnd得到游戏窗口大小
sRect = Plugin.Window.GetClientRect(Hwnd)
4通过数组分割函数将得到的坐标分割为两组
MyArray = Split(sRect, "|")
5,通过类型转换函数将得的坐标转换为LNG并赋值
Ux = Clng(MyArray(0))
Uy= Clng(MyArray(1))
假如普通抓点坐标为100,100 则游戏内坐标为 100-Ux 100-Uy
完整代码
Hwnd = Plugin.Window.MousePoint()
sRect = Plugin.Window.GetClientRect(Hwnd)
dim MyArray
MyArray = Split(sRect, "|")
Ux = Clng(MyArray(0))
Uy= Clng(MyArray(1))
写法二
利用ScreenToClient(hwnd,x,y) 函数,转换实际坐标和窗口坐标
首先
1 先将鼠标指向游戏窗口获取游戏窗口句柄
Hwnd = Plugin.Window.MousePoint()
2将原来抓点的值代入ScreenToClient(hwnd,x,y) 函数则可以得到窗口坐标
示例:
x = 100:y = 100
dm_ret = dm.ScreenToClient(hwnd,x,y)
这里利用了大漠插件的功能,实际上按键自带的VB函数就可以完成。
还有其它许多写法,对于新手来说,这两种就已经够用了
你直接用按键精灵去捕捉鼠标就可以了。 按键上带这个功能的。
按键只识别屏幕坐标。
上面的仁兄已经回答了.