广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    用按键精灵制作游戏脚本之前后台坐标关联教程

    来源:网络收集  点击:  时间:2024-02-27
    【导读】:
    各位大大在切换前后台命令的时候,有没有遇到坐标切换呢~有没有发现前后台的命令,对同一个窗体内容,居然坐标不同!!今天~院刊就跟大家普及下前台坐标与相对应的后台坐标知识~工具/原料more按键精灵2014方法/步骤1/11分步阅读

    什么是前台坐标和后台坐标呢?

    什么是前台坐标?

    以屏幕左上角的坐标为起点(0,0),从而获取到的各个窗体的坐标,就是前台坐标。

    什么是后台坐标?

    以窗口左上角为起点(0,0),从而获取到的这个窗体内的相对坐标,就是后台坐标。

    如图:

    2/11

    我们来举个栗子吧,例如txt文本里的输入文字的起始点。

    3/11

    至此,各位大大知道前后台坐标的联系了吧。一个是绝对坐标(前台),一个是相对坐标(后台)。

    4/11

    那么如何进行前后台坐标的切换呢

    从上图里,聪明机智的小伙伴们就会发现:如果知道了前台坐标,也知道了窗口左上角的值。那么窗口客户区内的任意后台的坐标,不是都可以通过以下计算来获得了:

    后台x坐标=客户区前台x坐标-客户区左上角前台x坐标

    后台y坐标=客户区前台y坐标-客户区左上角前台y坐标

    5/11

    如何获得客户区前台的x,y坐标呢?

    我们使用按键精灵自带的窗体插件命令:GetWindowRect来获取。

    命令名称:

    GetWindowRect窗口边框大小

    命令功能:

    得到窗口句柄的边框大小(包括标题栏)

    命令参数:

    参数1整数型,窗口句柄

    返回值:

    字符串型,边框大小(包括标题栏)

    注:返回为:边框窗口左角X坐标|边框窗口左上角Y坐标|边框窗口右下角X坐标|边框窗口右下角Y坐标

    //下面这句是得到窗口句柄的边框大小(包括标题栏)

    sRect=Plugin.Window.GetWindowRect(句柄)

    将你所要获取的窗口句柄填入括号内就可以啦~

    6/11

    范例举例:

    举个萌萌哒的例子:向记事本特定位置输入文字。

    例如我要往“hello”和“按键精灵”中间插入文字:

    7/11

    思路:

    每次打开记事本的位置,有可能会有变化。而我们又不能每次都要去获取它的坐标再改脚本,这样太费力了。所以呢,只要锁定了记事本,知道了目标在记事本中的相对位置就可以操作啦。

    同理,寻找游戏里的物品目标,前台不稳定。后台命令也是基于相对坐标的。

    8/11

    1.先找到目标窗体的左上角坐标

    (通过窗体插件命令:GetWindowRect来获取)

    2.再找到目标窗体内,“hello”和“按键精灵”中间的坐标

    (为了方便,我们用抓抓获取。在游戏中,可以通过找图找色来获取前台坐标)

    9/11

    3.算出相对坐标,后台命令鼠标点击

    (后台x坐标=客户区前台x坐标-客户区左上角前台x坐标)

    (后台y坐标=客户区前台y坐标-客户区左上角前台y坐标)

    (后台命令我们用按键自带的后台插件Bkgnd)

    10/11

    4.输入文字啦。

    //下面这句是得到窗口句柄的边框大小(包括标题栏)

    sRect=Plugin.Window.GetWindowRect(592496)

    MsgBox得到窗口句柄的边框大小(包括标题栏)为:sRect

    //下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串

    dimMyArray

    MyArray=Split(sRect,|)

    后台坐标x=MyArray(0)

    后台坐标y=MyArray(1)

    CallPlugin.Bkgnd.MoveTo(592496,132-后台坐标x,232-后台坐标y)

    CallPlugin.Bkgnd.LeftClick(592496,132-后台坐标x,232-后台坐标y)

    11/11

    知识拓展:后台插件Bkgnd

    命令名称:

    MoveTo鼠标移动

    命令功能:

    向后台窗口句柄发送一个鼠标移动到坐标处(注意:只支持部分窗口,以实际测试为准。)

    命令参数:

    参数1整数型,窗口句柄

    参数2整数型,窗口X坐标

    参数3整数型,窗口Y坐标

    返回值:

    命令名称:

    LeftClick左键单击

    命令功能:

    向后台窗口句柄送一个鼠标左键单击(注意:只支持部分窗口,以实际测试为准。)

    命令参数:

    参数1整数型,窗口句柄

    参数2整数型,窗口X坐标

    参数3整数型,窗口Y坐标

    返回值:

    当然,当window主题更换的时候,可能用GetWindowRect窗口边框大小这个命令并不便捷,大家也可以试试另一个window插件GetClientRect窗口客户区大小。相同的思路,更稳定更通用。

    游戏
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_158289.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 09:38:35  耗时:0.024
    0.0244s