金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.
纵观现在的游戏市场,手机游戏现在占有的比重越来越高,在按键精灵推出安卓版本之后,手游的脚本也是越来越多。
有很多手游的脚本现在都是比较火热的,包括腾讯的《天天酷跑》这款游戏。小编我观察了下在论坛上还有贴吧里求天天酷跑脚本的人有好多。所以这周小编教大家用安卓按键精灵一步步的制作一个天天酷跑的脚本。希望大家也能从中学习到安卓脚本的制作方法。
准备工作
准备工具:
按键精灵手机助手,以及按键精灵安卓版下载:http://m.anjian.com/
安卓手机一部,或者使用安卓模拟器(海马玩、天天模拟器等等)
PS:目前安卓按键精灵对于安卓5.0版本兼容性还不好,建议换成5.0以下的系统版本或者直接使用模拟器。为了方便之后的多分辨率调试,所以小编建议是使用模拟器配合脚本的开发和调试。(有多部手机的壕就请无视这句话
)
思路
在制作一款游戏的脚本的时候,需要做的第一件事情就是要了解这款游戏的需求是什么。只有知道了需求之后才能明确制作的目标。
玩过这款游戏的同学都会明白,这款游戏的需求点主要有这几种:世界匹配对战、好友送心,刷冒险模式。
这周就给大家讲解下制作世界匹配对战的例子。
代码思路:
1、选择游戏模式:经典、急速、进击模式
2、进入世界PK,匹配对手
3、进入跑酷界面开始跑酷
4、对战结束后重新循环开始
常用命令
命令名称CmpColorEx命令功能同时比较指定的多个坐标点的颜色,支持多色、偏色、相似度比较命令参数mul_color:字符串,需要对比的点xy坐标和16进制颜色,格式为(X坐标|Y坐标|16进制颜色),多个颜色用“|”号分隔,需要偏色用“-”号分隔,多个点信息用“,”号分隔,比如"100|200|FFFFFF|123456-000000,300|500|FFFFFF"sim:双精度浮点数,相似度,取值范围0-1
命令名称FindMultiColor命令功能根据指定的多点查找颜色坐标命令参数x1:整数型,查找区域左上X坐标
y1:整数型,查找区域左上Y坐标
x2:整数型,查找区域右下X坐标
y2:整数型,查找区域右下Y坐标
first_color:要对比的16进制颜色,多个颜色用"|"号分隔,如果需要对比偏色则中间用“-”号分隔,比如"FFFFFF|123456-000000|00FF00-101010"
sim:双精度浮点数,相似度,取值范围0-1
offset_color:字符串,偏移颜色
dir:整数型,查找方向.0:表示从左上向右下查找;1:表示从中心往四周查找;2:表示从右下向左上查找;3:表示从左下向右上查找;4:表示从右上向左下查找;
intX:变参指针,返回找到的X坐标
intY:变参指针,返回找到的Y坐标
color:字符串,16进制颜色值,格式为"BBGGRR"
这两条就是在编写安卓脚本时最常用也是最基础的命令。两个命令都是对比不同坐标点上的颜色来找图色的。
不同的地方在于
CmpColorEx 命令只能对比固定坐标点的颜色,如果每个点颜色都一致就返回1表示找到
FindMultiColor 命令是根据第一个坐标点颜色,然后对比他的偏移点的颜色值,和按键上的多点找色是一样的
有同学会问了:为啥不用找图命令?
确实找图命令使用很简单,只要截个图就行了。但是在安卓上写脚本面临的问题就是不同手机有不同的分辨率。
图片在不同分辨率下是不同的,总不可能把每种分辨率下都分别截图一张吧?
用多点找色就方便了,多点在不同分辨率下他也是按照比例来换算的,所以只要使用算法进行计算,就能适应不同的分辨率手机了。(具体的计算方法会在之后的院刊中详细讲解)
代码结构
因为上面说的需要适配不同分辨率的原因,所以在代码的结构上和电脑版的按键精灵有所差别。具体的结构可以分为三大部分
这样做的好处是当游戏更新或者想要修改一些图色数据的时候可以很方便的在数据模块中修改,不用在整个脚本代码中修改。
数据模块范例:
- 冒险模式 = Array(519, 1121, 604, 1208, "6CDABC", "-14|198|C5FFFF,457|-333|28DDF7")
- 世界对战 = Array(199, 1424, 355, 1694, "FBFFB3", "-17|5|9D5C1A,-74|46|FEE752,62|33|FFFFFF,-91|16|F8AA83")
- 爱心不足 = Array(155,540,260,630, "ECF5F9","8|3|FFFFFF,-12|36|053380,13|578|B5FDFF,380|143|E5E2D7,366|197|C58418")
复制代码
这个就是数据模块的范例,“519, 1121, 604, 1208” 这四个是使用多点找色的范围
"6CDABC", "-14|198|C5FFFF,457|-333|28DDF7" 这是多点找色的参数,可以直接在按键手机助手抓抓上复制
把这几个多点找色的参数使用Array命令组合成数组,可以方便调用其中的参数。
抓抓使用方法:
1、连接手机后打开抓抓工具,点击截图
2、在想取的特征点上右击,选择“加入到点1”第二个点就选择加入点2,以此类推,特征比较明显的一般就选取3-5个点。
3、勾选上特征点之后的多选框。
4、下方下拉框选择多点找色命令,里面就可以直接复制多点的参数了。
多点找色模块:
多点找色的命令使用的比较频繁,所以我们可以把他封装成一个函数,这样要找色的时候直接调用这个函数就可以了
这个函数功能就是只要传入多点的数组名称,就可以直接进行多点找色了。找到就返回true,没找到就返回false。方便进行判断
- Function 找多点(数组)
- 找多点 = False
- Dim arr,intX,intY
- arr = 数组
- FindMultiColor arr(0), arr(1), arr(2), arr(3), arr(4), arr(5), 0, 0.9, intX, intY
- If intX > -1 Then
- 找多点 = True
- End If
- End Function
复制代码
进阶版:
- Function 找多点(数组,模式)
- 找多点 = False
- Dim arr,intX,intY
- arr = 数组
- FindMultiColor arr(0), arr(1), arr(2), arr(3), arr(4), arr(5), 0, 0.9, intX, intY
- If intX > -1 Then
- 找多点 = True
- If 模式 = 1 Then
- Tap intX, intY
- End If
- End If
- End Function
复制代码
这个函数,当“模式”这个参数设置成1的时候就表示找到特征的时候顺便进行点击的操作。(这也是目前自己常用的模块代码,虽然功能并不是很强大,但是用于找多点是足够了。)
,