学 习 游 戏 脚 本 制 作 : 按 键 精 灵 键 鼠 同 步 器 源 码 分 享 来 源 : 按 键 学 院 【按 键 精 灵 】 小编之前也有使用过其它大牛编写的游 戏 同 步 的脚 本 ,突然间对于它是如何实现同 步 感到十分 好奇,我们一起来 研究看看,同 步 到底是怎么实现的吧~ NO.1-同 步 的 前 提 前 提 1 同 步 的两个窗口需要是同 一个应用窗口,并且窗口大小要相同 2 同 步 窗口可以接收到按 键 的键 鼠 发送信息 3 同 步 的窗口支持后台键 鼠 操作 NO.2-本 节 例 子 及 其 能 实 现 的 功 能 例 子 1 画图工具,实现同 步 画图 2 记事本 ,实现同 步 删除内容 功 能 ① 键 鼠 同 步 ② 支持组合键 NO.3-思路大剖析 思 路 步 骤 1 获 取 主 窗 口 和 被 同 步 窗 口 句 柄 ● WaitKey 命 令 等 待 键 盘 按 下 ○ 按 下 F6 则 获 取 当 前 鼠 标 指 向 的 窗 口 句 柄 , 作 为 主 窗 口 句 柄 。 ○ 按 下 F7 则 获 取 当 前 鼠 标 指 向 的 窗 口 句 柄 , 作 为 同步窗 口 句 柄 。 ● 用 Do 循环来等 待 按 键 , 当 主 窗 口 句 柄 和同步窗 口 句 柄 都获 取 到时, 退出 Do 循环 ● 代 码 Do Key = WaitKey() If Key = 117 Then 主 窗 口 = Plugin.Window.MousePoint() End If If Key = 118 Then 同步窗 口 = Plugin.Window.MousePoint() End If Delay 500 If 主 窗 口 <> 0 and 同步窗 口 <> 0 Then Exit Do End If Loop 2 设 置 两 个 窗 口 的 窗 口 大 小 一致 ● 窗 口 大小一致, 同步的 时候鼠 标 才能移动到正确的 位置。 ● 代 码 Call Plugin.Window.Size(主 窗 口 ,800,600) Call Plugin.Window.Size(同步窗 口 ,800,600) 3 获 取 主 窗 口 的 左 上角坐标 ● GetWindowRect 命 令 获 取 主 窗 口 的 左 上角坐标 ● 代码 sRect = Plugin.Window.GetWindowRect(主 窗 口 ) dim MyArray MyArray = Split(sRect, "|") L = Clng(MyArray(0)): T = Clng(MyArray(1)) 4 获 取 当前鼠标在主 窗 口 的 位置 ● GetCursorPos 命 令 获 取 当前鼠标位置 ● 代码 Get...