学习游戏脚本制作按键精灵键鼠同步器源码分享.docx

上传人:牧羊曲112 文档编号:3097949 上传时间:2023-03-10 格式:DOCX 页数:5 大小:37.75KB
返回 下载 相关 举报
学习游戏脚本制作按键精灵键鼠同步器源码分享.docx_第1页
第1页 / 共5页
学习游戏脚本制作按键精灵键鼠同步器源码分享.docx_第2页
第2页 / 共5页
学习游戏脚本制作按键精灵键鼠同步器源码分享.docx_第3页
第3页 / 共5页
学习游戏脚本制作按键精灵键鼠同步器源码分享.docx_第4页
第4页 / 共5页
学习游戏脚本制作按键精灵键鼠同步器源码分享.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《学习游戏脚本制作按键精灵键鼠同步器源码分享.docx》由会员分享,可在线阅读,更多相关《学习游戏脚本制作按键精灵键鼠同步器源码分享.docx(5页珍藏版)》请在三一办公上搜索。

1、学习游戏脚本制作按键精灵键鼠同步器源码分享学习游戏脚本制作:按键精灵键鼠同步器源码分享 来源:按键学院 小编之前也有使用过其它大牛编写的游戏同步的脚本,突然间对于它是如何实现同步感到十分好奇,我们一起来研究看看,同步到底是怎么实现的吧 NO.1-同步的前提 前提 1 同步的两个窗口需要是同一个应用窗口,并且窗口大小要相同 2 同步窗口可以接收到按键的键鼠发送信息 3 同步的窗口支持后台键鼠操作 NO.2-本节例子及其能实现的功能 例子 1 画图工具,实现同步画图 2 记事本,实现同步删除内容 功能 键鼠同步 支持组合键 NO.3-思路大剖析 思路步骤 1 获取主窗口和被同步窗口句柄 WaitK

2、ey 命令等待键盘按下 按下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 设置两

3、个窗口的窗口大小一致 窗口大小一致,同步的时候鼠标才能移动到正确的位置。 代码 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 获取当前鼠标在主窗口的位置 GetC

4、ursorPos命令获取当前鼠标位置 代码 GetCursorPos mx, my 5 计算主窗口内当前鼠标位置和窗口左上角距离 公式:当前鼠标位置减去窗口左上角坐标值 6 开始同步 被同步窗口,使用按键后台键鼠命令,将鼠标移动到和主窗口相同的位置 代码 Call Plugin.Bkgnd.MoveTo(同步窗口, mx-L, my-T) 在主窗口内按下任意键时,同步窗口也执行同样的操作 代码 Key = GetLastKey Call Plugin.Bkgnd.KeyPress(同步窗口, Key) NO.4-代码 代码 Do Key = WaitKey If Key = 117 Then

5、主窗口 = Plugin.Window.MousePoint /Call Plugin.Window.Size(主窗口,800,600) End If If Key = 118 Then 同步窗口 = Plugin.Window.MousePoint / Call Plugin.Window.Size(同步窗口,800,600) End If Delay 500 If 主窗口 0 and 同步窗口 0 Then Exit Do End If Loop Do Mouse = GetLastClick If Mouse = 32769 Then /鼠标左键按下时ASCII码为 32769 sRec

6、t = Plugin.Window.GetWindowRect(主窗口) dim MyArray MyArray = Split(sRect, |) L = Clng(MyArray(0): T = Clng(MyArray(1) GetCursorPos mx, my Delay 10 Call Plugin.Bkgnd.LeftDown(同步窗口, mx-L, my-T) Delay 10 Do Mouse = GetLastClick If Mouse = 0 Then /鼠标无点击操作 GetCursorPos mx, my Delay 10 Call Plugin.Bkgnd.Mov

7、eTo(同步窗口, mx-L, my-T) Delay 10 End If If Mouse = 32770 Then /鼠标左键弹起时ASCII码为 32770 GetCursorPos mx, my Delay 10 Call Plugin.Bkgnd.LeftUp(同步窗口, mx-L, my-T) Exit Do End If Loop End If Key = GetLastKey Call Plugin.Bkgnd.KeyPress(同步窗口, Key) Loop NO.5-效果演示 演示 画图 记事本 注意 画图和记事本,获取窗口句柄的时候请点击白白的客户区进行获取,因为我们是要对它的客户区进行操作 NO.6-温馨小提示 温馨小提示 * 游戏窗口中的同步,需要注意几个窗口中人物的朝向和坐标是否相同 * 如果坐标朝向不同,一个窗口里的角色往西边走一个往北边走,就无法达到预期同步任务的效果

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号