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

软件版本: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» / 147
发新话题 回复该主题

[技术交流] 【院刊】-【201507期】安卓按键精灵实战教学——天天酷跑(1) [复制链接]

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

安卓实战——制作天天酷跑脚本



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



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

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

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





纵观现在的游戏市场,手机游戏现在占有的比重越来越高,在按键精灵推出安卓版本之后,手游的脚本也是越来越多。
有很多手游的脚本现在都是比较火热的,包括腾讯的《天天酷跑》这款游戏。小编我观察了下在论坛上还有贴吧里求天天酷跑脚本的人有好多。所以这周小编教大家用安卓按键精灵一步步的制作一个天天酷跑的脚本。希望大家也能从中学习到安卓脚本的制作方法。

准备工作


准备工具:

按键精灵手机助手,以及按键精灵安卓版下载: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 命令是根据第一个坐标点颜色,然后对比他的偏移点的颜色值,和按键上的多点找色是一样的

有同学会问了:为啥不用找图命令?


确实找图命令使用很简单,只要截个图就行了。但是在安卓上写脚本面临的问题就是不同手机有不同的分辨率。
图片在不同分辨率下是不同的,总不可能把每种分辨率下都分别截图一张吧?
用多点找色就方便了,多点在不同分辨率下他也是按照比例来换算的,所以只要使用算法进行计算,就能适应不同的分辨率手机了。(具体的计算方法会在之后的院刊中详细讲解)

代码结构


因为上面说的需要适配不同分辨率的原因,所以在代码的结构上和电脑版的按键精灵有所差别。具体的结构可以分为三大部分

您所在的用户组无法下载或查看附件


这样做的好处是当游戏更新或者想要修改一些图色数据的时候可以很方便的在数据模块中修改,不用在整个脚本代码中修改。

数据模块范例:
  1. 冒险模式 = Array(519, 1121, 604, 1208, "6CDABC", "-14|198|C5FFFF,457|-333|28DDF7")
  2. 世界对战 = Array(199, 1424, 355, 1694, "FBFFB3", "-17|5|9D5C1A,-74|46|FEE752,62|33|FFFFFF,-91|16|F8AA83")
  3. 爱心不足 = 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。方便进行判断
  1. Function 找多点(数组)
  2. 找多点 = False
  3. Dim arr,intX,intY
  4. arr = 数组
  5. FindMultiColor arr(0), arr(1), arr(2), arr(3), arr(4), arr(5), 0, 0.9, intX, intY
  6. If intX > -1 Then
  7. 找多点 = True
  8. End If
  9. End Function
复制代码
进阶版:
  1. Function 找多点(数组,模式)
  2. 找多点 = False
  3. Dim arr,intX,intY
  4. arr = 数组
  5. FindMultiColor arr(0), arr(1), arr(2), arr(3), arr(4), arr(5), 0, 0.9, intX, intY
  6. If intX > -1 Then
  7. 找多点 = True
  8. If 模式 = 1 Then
  9. Tap intX, intY
  10. End If
  11. End If
  12. End Function
复制代码
这个函数,当“模式”这个参数设置成1的时候就表示找到特征的时候顺便进行点击的操作。(这也是目前自己常用的模块代码,虽然功能并不是很强大,但是用于找多点是足够了。)


后记


这篇院刊主要就是先给同学们普及下安卓按键的一些基础知识,以及代码的总体结构。在下篇院刊将会给大家奉上具体的代码。
学院的院刊在之后也都会陆续的推出一些关于安卓按键的知识。希望有想要学习安卓按键的同学可以关注支持下。有什么不足之处欢迎大家留言指出。



系列院刊:

安卓实战教学第二波——天天酷跑(2)
showtopic.aspx?topicid=577909&forumpage=1&page=1

安卓实战——让脚本适应多种分辨率
showtopic.aspx?topicid=578339&forumpage=1&page=1



院刊目录
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
【上课导师】:梦幻小飞侠
【实战游戏】:[天天富翁]、[三国之刃]、[梦幻西游]、[天 龙 八 部]
点我进入按键学院报名啦招生细节进群咨询招生办主任


您所在的用户组无法下载或查看附件


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

    2#


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

      3#

      大大大大大大大大大大大大大

      脚本制
      4#

      顶!d=====( ̄▽ ̄*)b

      5#

      顶一个

      6#


      7#

      谁谁谁谁谁谁谁谁谁水水水水

      有刺青的不一定是流氓,他可能是岳飞!
      8#

      ............................

      9#


      10#

      0.0顶一个

      11#

      谢谢分享

      [url=http://bbs.anjian.com/thread-576954-1-1.html]按键精灵14周年庆典火热进行中!点击领奖[
      12#


      13#

      这好东西必需学习

      14#

      ..............

      15#

      看看学习一下啊

      16#

      ..........

      17#

      学习学习

      18#

      洗洗分享!!!

      19#

      纵观现在的游戏市场

      20#

      分辨率调试,所以小编建议是使用模拟器配合脚本的开发和调试

      发新话题 回复该主题