• 新浪微博:
  • 腾讯微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:76.8M
更新时间:2-21

按键精灵安卓版
立即下载

软件版本:3.2.5
软件大小:62.5M
更新时间:06-06

按键精灵iOS版
立即下载

软件版本:1.2.7
软件大小:29.2M
更新时间:06-19

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

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

登录 注册
返回列表 12345678» / 136
发新话题 回复该主题

[技术交流] 【院刊】-【201507期】安卓实战——让脚本适应多种分辨率 [复制链接]

1#
本帖最后由 quitout 于 2015-7-10 18:48 编辑

如何让脚本在不同的分辨率下正常运行



本文按键学院提供技术支持



按键学院交流①群(1群已满):376122403

按键学院交流②群(2群):372671254

按键学院交流③群(3群):170084238




经过之前两篇院刊的学习,相信同学们已经对如何制作一个安卓脚本有了初步的了解了。但是,想要完成一个真正实用的脚本可不是只要写出脚本就行的。
因为在手机上运行脚本面临了一个分辨率不同的问题。它不像电脑那样可以修改分辨率,不同的手机分辨率可能不同,所以在安卓按键上编写脚本还需要进行分辨率的适配
今天的院刊就给大家介绍两种让脚本适配不同分辨率的方法

前提条件


对脚本进行多分辨率适配是有一定的前提条件的,并且有一些需要注意的地方。
1、这里介绍的两种适配的方法前提是,脚本中不能使用找图的方式。可以使用 多点找色、多点比色、范围找色、指定点找色之类的命令
2、在取坐标和颜色点的时候需要注意:取点的时候尽量取周围有相同或者相近颜色的点,尽量不要取边缘化的点。
因为在在分辨率转换的时候有可能会出现一些像素点的偏移,如果取的点的周围颜色差异大,那就会出现识别不到的情况。

分辨率适配代码


第一种:通过编写函数来实现对传入的多点数据进行比例转换

在这个系列的第一篇院刊当中小编就已经先说过了,需要先把取到的多点数据使用 array 这个命令转换成数组进行存储,这样可以方便后期使用命令进行找色等等操作。同时也可以方便进行分辨率的转换。

首先我们需要先用命令获取到当前的屏幕分辨率,然后用当前的分辨率和制作脚本时候使用的分辨率进行计算,得出他们的缩放比例
  1. Dim win_x,win_y,win_w,win_h
  2. win_x = GetScreenX()
  3. win_y = GetScreenY()
  4. TracePrint "当前分辨率:" & win_x & "*" & win_y
  5. win_w=win_x/1080
  6. win_h=win_y/1920
  7. TracePrint "屏幕比例:" & win_w & ":" & win_h
复制代码
win_w 这个是横向比例;win_h 这个是纵向比例。在之后的转换代码中会使用到

然后我们需要编写个比例转换函数,对传入的数据进行坐标的转换
  1. Function 比例换算(数组)
  2. Dim arr(),arr_bl(),i,n
  3. arr = 数组
  4. '把缩放比例放到数组中方便调用
  5. arr_bl=Array(win_w,win_h)
  6. i=0
  7. For Each n In arr
  8. If IsNumeric(n) = True Then
  9. '这里计算根据比例不同,传入对应换算值 x坐标*win_x比例,y坐标*win_y比例
  10. arr(i)=n*arr_bl(i Mod 2)
  11. ElseIf InStr(1,n,"|")>0 Then
  12. Dim arr1(),str,arr2()
  13. arr1=Split(arr(i),",")
  14. str=""
  15. For Each n In arr1
  16. arr2=Split(n,"|")
  17. str=str & arr2(0)*win_w & "|" & arr2(1)*win_h & "|" & arr2(2) & ","
  18. Next
  19. arr(i)=Left(str,Len(str)-1)
  20. Exit For
  21. End If
  22. i=i+1
  23. Next
  24. 比例换算=arr
  25. End Function
复制代码
使用方法:
  1. 对战 = 比例换算(Array(41,1074,195,1288,"BADBFE","-89|-10|0E46C7,23|-14|E0FBFF,15|105|75EDFF,27|137|40B3FF"))
  2. 世界对战 = 比例换算(Array(199, 1424, 355, 1694, "FBFFB3", "-17|5|9D5C1A,-74|46|FEE752,62|33|FFFFFF,-91|16|F8AA83"))
  3. 入场 = 比例换算(Array(164, 439, 260, 527, "A2F5FA", "-26|1|114477,800|26|2F2DE7,536|284|C4325D,-142|-84|ECA944"))
  4. 进入游戏 = 比例换算(Array(24, 601, 165, 705, "00C6FF", "17|13|1F3C48,-34|6|0563B7"))
  5. 再来一局 = 比例换算(Array(257, 649, 355, 752, "2874CE", "23|3|EAF5FC,-8|303|1CEAFB"))
  6. 返回 = 比例换算(Array(113, 539, 190, 621, "EBF5F9", "12|1|FFFFFF,217|7|4BCCF8,-98|13|4A79B8,247|-27|F2FFFF"))
  7. 确认 = 比例换算(Array(82, 507, 209, 638, "1358B5", "-6|74|F0F8FF,-96|96|75879F,-20|118|235DAE,114|144|EF9415"))
复制代码
就是在录入数据的时候先用这个转换函数转换一遍即可。之后的找色等等操作就不需要条用这个转换函数了。


第二种:使用安卓按键自带的屏幕缩放命令 SetScreenScale

命令名称SetScreenScale
命令功能设置当前脚本开发环境的屏幕分辩率,使脚本适配不同分辩率的设备
命令参数 width:整数型,脚本开发时使用的设备宽度height:整数型,脚本开发时使用的设备高度scale:可选参数,默认为1,0代表只对传入函数的坐标进行缩放,从函数返回坐标的不缩放,即为当前使用设备真实坐标。1代表传入函数的坐标进行缩放,函数返回的坐标进行反向缩放


这个命令还有个配套的命令,取消屏幕比例缩放设置: ResetScreenScale

这个命令使用起来很简单,只要在代码的开始和结束部分加上就好了。在脚本结束部分要加上ResetScreenScale 命令。

对于多点颜色的数据也无需进行处理。这个命令会自动对Tap、Touch、TouchDown、TouchMove、Swipe、GetPixelColor、FindColor、CmpColor、CmpColorEx、FindMultiColor 这几个命令传入的数据进行缩放处理。
  1. SetScreenScale 1080, 1920
  2. '调用主函数
  3. Call 对战积分()
  4. ResetScreenScale
复制代码
后记


天天酷跑系列到目前就已经全部结束了。这个系列的院刊目的主要是在于能让大家对了解一些编写安卓按键脚本的结构,思路,常用的技巧等等。希望能对初学安卓按键的同学有所帮助。如果有什么建议或者内容错误,欢迎大家留言反馈。


系列院刊:
安卓按键精灵实战教学——天天酷跑(1)

安卓按键精灵实战教学——天天酷跑(2)



院刊目录
showtopic.aspx?topicid=549014&forumpage=1&page=1



 



谢谢大家阅读,记得给小编送支花花 ! 顺手点个


[tr=rgb(143, 188, 143)]

按键精灵实战班开始报名啦!

腾讯课堂视频课程

1、时间:7月1日——7月25日接受报名
2、时长:每周二、周四、周六
3、地点:实战班
4、项目准备:安装按键精灵2014,安装镇魔曲、按键精灵会员卡(报名会提供3个月)。
5、关于项目课程的安排:周一至周天白天可自行学习与实践,学院会提供为学员准备助教与老师进行解答,周二、周四、周六晚上8点开始授课,请各位学员到场学习。
6、学费费用:512(人民币)
7、本次实战课程全国招募66人,名额有限。

【招生对象】:零基础用户,快速学会按键精灵安卓版
【招生人数】:70人
【报名时间】:3/18——4/6
【学费】:128RMB
【学习日期】:1个月(2015.4.6-2015.4.27)
【上课时间】:周1、周3、周5 19:30--21:30
【上课导师】:梦幻小飞侠
【实战游戏】:[天天富翁]、[三国之刃]、[梦幻西游]、[天 龙 八 部]
点我进入按键学院报名啦招生细节进群咨询招生办主任





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

    2#

    沙发!

    3#

    板凳

    4#

    点个赞

    5#


    6#

    学无止境

    承接 游戏脚本制作开发!网页游戏、手游、客户端游~
    寻求实力代理、工作室合作开发项目(要稳定长期的项目)
    有需要的联系QQ:792037085
    7#

    支持大大

    8#

    学习一下

    9#

    学习一下

    努力学习中
    10#

    看一下。

    11#

    谢谢楼主的无私奉献!!!!!!

    12#

    看看学习一下

    13#

    1111111111111111111111111111111111111

    14#

    多种分辨率

    15#

    谢谢了啊``!

    16#

    11111111111111111111111111111

    17#

    参与/回复主题关闭
    RE: 【院刊】-【201

    18#

    xuexixuex

    19#

    来学习饿啦!~

    最新发布按键论坛批量签到器!!!地址:http://bbs.anjian.com/showtopic-601476-1.aspx
    20#

    敢发隐藏贴,TJJTDS啦...
    本贴由隐藏贴回复机快速回复

    发新话题 回复该主题