安卓/IOS越狱按键精灵脚本辅助开发——让脚本适应多种分辨率
如何让脚本在不同的分辨率下正常运行
前提条件
对脚本进行多分辨率适配是有一定的前提条件的,并且有一些需要注意的地方。
1、这里介绍的两种适配的方法前提是,脚本中不能使用找图的方式。可以使用 多点找色、多点比色、范围找色、指定点找色之类的命令
2、在取坐标和颜色点的时候需要注意:取点的时候尽量取周围有相同或者相近颜色的点,尽量不要取边缘化的点。
因为在在分辨率转换的时候有可能会出现一些像素点的偏移,如果取的点的周围颜色差异大,那就会出现识别不到的情况。
分辨率适配代码
第一种:通过编写函数来实现对传入的多点数据进行比例转换
首先我们需要先用命令获取到当前的屏幕分辨率,然后用当前的分辨率和制作脚本时候使用的分辨率进行计算,得出他们的缩放比例
Dim win_x,win_y,win_w,win_h
win_x = GetScreenX()
win_y = GetScreenY()
TracePrint "当前分辨率:" & win_x & "*" & win_y
win_w=win_x/1080
win_h=win_y/1920
TracePrint "屏幕比例:" & win_w & ":" & win_h
win_w 这个是横向比例;win_h 这个是纵向比例。在之后的转换代码中会使用到
然后我们需要编写个比例转换函数,对传入的数据进行坐标的转换
使用方法:
就是在录入数据的时候先用这个转换函数转换一遍即可。之后的找色等等操作就不需要条用这个转换函数了。
第二种:使用安卓/IOS按键自带的屏幕缩放命令 SetScreenScale
这个命令还有个配套的命令,取消屏幕比例缩放设置: ResetScreenScale
这个命令使用起来很简单,只要在代码的开始和结束部分加上就好了。在脚本结束部分要加上ResetScreenScale 命令。
对于多点颜色的数据也无需进行处理。这个命令会自动对Tap、Touch、TouchDown、TouchMove、Swipe、GetPixelColor、FindColor、CmpColor、CmpColorEx、FindMultiColor 这几个命令传入的数据进行缩放处理。
2025-05-23