• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

SetScreenScale 轻松实现脚本多分辨率支持 [复制链接]

1#
本帖最后由 艾美瑞什 于 2014-12-2 17:01 编辑

【函数简介】
使脚本根据开发环境的屏幕分辩率和当前使用环境分辨率自动将脚本里XY坐标进行等比换算,受影响命令包括:Tap、Touch、TouchDown、TouchMove、Swipe、GetPixelColor、FindColor、CmpColor、CmpColorEx、FindMultiColor

【参数说明】
开发设备宽度:脚本开发时使用的设备宽度
开发设备高度:脚本开发时使用的设备高度
函数返回值是否缩放:可选参数,默认为1,0代表只对传入函数的坐标进行缩放,从函数返回坐标的不缩放,即为当前使用设备真实坐标。1代表传入函数的坐标进行缩放,函数返回的坐标进行反向缩放,何时需要使用这个参数请看下面例子

【函数返回值】


【使用范例】
假设一名作者在540*960分辨率的手机中开发了脚本,并在720*1280的设备中运行,效果说明如下:
  1. SetScreenScale 540,960,0
  2. tap 100,200'此处实际点击坐标为:100*(720/540),200*(1280/960)
  3. FindMultiColor 0, 0, 800, 900,"FFFFFF-000000","4|1|2F9772",0,0.9,intX,intY'此处实际查找的范围为坐标(0,0)到(800*720/540,900*1280/960),同时坐标偏移也进行换算,即匹配首点x,y坐标后,再对比x+4*720/540,y+1*1280/960这个坐标颜色是否为"2F9772"
  4. If intX -1 Then
  5. TracePrint "找到啦,坐标在"&intX&","&intY'SetScreenScale第三参数为0或省略情况下返回的坐标已经是当前设备真实坐标
  6. End if
复制代码
[backcolor=#f7f7f7]前往查看《紫猫学院》视频教程
SetScreenScale注意事项:
1.通分辨率[backcolor=rgb(247,247,247)]取色是关键,取色点周边颜色相近的最好[backcolor=rgb(247,247,247)],像字体边缘线的点就很可能缩放后消失,导致找色失败。
2.只适用等比例分辨率:例如[backcolor=rgb(247,247,247)]540*960,720*1280都是9:16就可通用。但540*960与400*800的一般不能通用。
3.在最小分辨率开发,同比例的大分辨可用。例如:[backcolor=rgb(247,247,247)]540*960下开发的脚本,在[backcolor=rgb(247,247,247)]720*1280可用,反过来,一般不能通用。

    已有2评分我要评分查看所有评分

    2#

    我觉得搞这些没有什么卵用还不如实际点的搞一个可以调手机分辨率的实实在在的,这个命令基本就是没用,TAP在我这边根本不会进行换算的SetScreenScale 540,960,1
    Dim intX,intY
    Dim 屏幕横坐标X,屏幕纵坐标Y

    RunApp "com.mango.sanguo15.dangle"

    Delay 3000

    Do


    FindMultiColor 0,0,540,960,"008BFF","-13|28|0078FF,-23|21|FFFFFF,-26|6|0068FF,-41|6|0058FF,-36|26|005DFF,-25|3|0069FF,-25|10|0069FF,-16|-10|0074FF,-1|22|FFFFFF",0,0.9,intX,intY
    If intX > -1 And intY > -1 Then
        TracePrint intX
        TracePrint intY
        Delay 500

        Tap 262,481

    End If


    Loop


    ResetScreenScale一点效果不出,按键在分辨率上面真的是我不得不吐槽一下,我还是回去给各种分辨率写吧这个真的是鸡肋一样的命令根本就是骗我时间的

    发新话题 回复该主题