- 〖教程达人〗
- 1177301
- 19467
- 14
- 1382 朵
- 23747 个
- -27 个
- 114120
- 2012-06-11
|
1#
t
T
发表于 2014-08-01 18:05
|
|只看楼主
本帖最后由 兄弟工程师05 于 2014-8-19 17:52 编辑 本期要点: 1、手机按键如何与安卓模拟器进行设备连接。 2、如何兼容支持市面上常见分辨率。 3、比例换算源码例子。 『进入正题』 一、手机按键如何与安卓模拟器进行设备连接。首先,打开手机按键与安卓模拟器(打开靠谱助手官网),开启顺序不分先后。(这步骤就不给图了) 然后,在模拟器应用列表中,选好你要的应用程序运行,这样就可以正常加载模拟器引擎,打开手机APK。- 您所在的用户组无法下载或查看附件
- 您所在的用户组无法下载或查看附件
最后,在手机按键右上方,点击“未与设备连接”,经过提示等待,变为“设备连接成功”即可正常编辑脚本使用,使用抓抓即可获取手机图片,也可以运行脚本进行调试操作。- 您所在的用户组无法下载或查看附件
备注:部分情况连接失败,提示USB数据未连接,可以重新打开手机按键尝试,此外个别情况可能会被手机助手软件干扰,结束其他手机助手重新连接即可。 二、如何兼容支持市面上常见分辨率。首先,目前常见手机分辨率有以下两类。 9:16分辨率:480*854、540*960、720*1280、1080*1920 3: 5分辨率:480*800、800*1280、1080*1800目前,手机应用或手游画面均是全屏显示,所以如果脚本需要支持全部分辨率就需要记录不同分辨率画面下的图色信息与坐标位置,这样方式明显不可取。 那么,精力是有限的,我们就来找找别的方式,根据以上两大类比例的分辨率信息分析,我们可以只做两套标准的图色信息特征与坐标信息特征,进行同比例缩放计算,从而做到兼容以上全部分辨率效果。 上面说了,一种比例取一个分辨率为基准,制作图色的信息特征与坐标信息特征,在其他分辨率情况下,进行同比例的计算,把所有的坐标都进行缩放计算,这样颜色还是判断那个颜色,但坐标确根据分辨率不同比例进行了重新换算,理论上来讲是毫无问题的。 这里就需要重点说明下,如果你是用找图命令来判断图色信息,那么将无法兼容多分辨率缩放的机制,我这里推荐大家认真了解下什么是多点找色,以及多点找色的好处与坏处。好处:查找效率高于找图。 坏处:多点特征取点有一定讲究,点阵特征取不好,将可能出现误判,此外由于是“坐标+颜色”的信息内容,所以无法像图片那样直观查看是判断什么图像。 总结:看到这个步骤的同学,您想具体了解如何兼容多分辨率功能学会,必须把什么是多点找色看明白,以及多点信息特征是如何取点等等操作步骤,当您明白什么是多点找色,自然懂得我说的同比例计算,重新换算坐标位置来实现兼容多个分辨率的目的。相关教程科普: 关于多点找色的原理介绍与如何使用PC按键精灵抓抓进行多点信息获取相关教程请看以下帖子: 插件教学之《Color插件的多点找色原理介绍》关于安卓版按键精灵中如何使用多点找色相关原理介绍请看以下帖子: 从零学起之安卓篇《按键精灵安卓版找图找色应用汇总介绍》关于1.5版本新增的多点找色命令介绍,主要看CmpColorEx 与 FindMultiColor 两个命令,记住必须把以上帖子内容理解后再看: 从零学起之安卓篇《版本1.5.1命令更新介绍》 三、比例换算源码例子。 『源码抢鲜看,看完点个赞!』实战篇:从零学起之安卓实战篇《天天酷跑好友送心》- '获得屏幕分辨率
- Dim win_x,win_y
- win_x = GetScreenX()
- win_y = GetScreenY()
- '计算屏幕比例值'原始比例720*1280
- Dim win_w,win_h
- win_w=win_x/720
- win_h=win_y/1280
- TracePrint "屏幕比例:" & win_w & ":" & win_h
- '多点特征
- Dim 好友列表(),红心图标()
- 好友列表=比例换算(Array(65,160,"FFEBD6","0|30|CE6910,-30|70|BD6D10"))
- 红心图标=比例换算(Array(110,760,510,850,"423DEF","-18|35|10C6FF,22|55|EFF7F7"))
- '换算后请看坐标值
- TracePrint Join(好友列表,",")
- TracePrint Join(红心图标,",")
- '这里自定义下比例为2倍。
- win_w=2
- win_h=2
- Dim 测试信息
- '原始比例
- 测试信息=Array(1,2,3,4,5)
- TracePrint Join(测试信息,",")
- '进行比例换算,放大2倍。
- 测试信息=比例换算(测试信息)
- TracePrint Join(测试信息,",")
- EndScript
- '固定功能模块
- '比例换算功能作用:把传入的数组信息,每一个元素值进行判断,凡是数字内容均乘以对应比例进行换算后重新赋值返回
- Function 比例换算(数组)
- Dim arr(),arr_bl(),i,n
- arr=数组
- arr_bl=Array(win_w,win_h)
- i=0
- For Each n In arr
- If IsNumeric(n)=True Then
- arr(i)=n*arr_bl(i Mod 2)'这里计算根据比例不同,传入对应换算值 x坐标*win_x比例,y坐标*win_y比例
- ElseIf InStr(1,n,"|")>0 Then
- Dim arr1(),str,arr2()
- arr1=Split(arr(i),",")
- str=""
- For Each n In arr1
- arr2=Split(n,"|")
- str=str & arr2(0)*win_w & "|" & arr2(1)*win_h & "|" & arr2(2) & ","
- Next
- arr(i)=Left(str,Len(str)-1)
- Exit For
- End If
- i=i+1
- Next
- 比例换算=arr
- End Function
复制代码
|