您的位置首页快问快答

游戏窗口的鼠标坐标和实际的坐标不一致,怎么换算?

游戏窗口的鼠标坐标和实际的坐标不一致,怎么换算?

的有关信息介绍如下:

游戏窗口的鼠标坐标和实际的坐标不一致,怎么换算?

这个有很多种写法

写法一

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函数就可以完成。

还有其它许多写法,对于新手来说,这两种就已经够用了

你直接用按键精灵去捕捉鼠标就可以了。 按键上带这个功能的。

按键只识别屏幕坐标。

上面的仁兄已经回答了.