既然我们知道了怎么启动一个游戏,也打造了一个比较理想的点击函数,就需要知道我们想要点击的目标是如何找到的,接下来就和大家探讨下所谓"找色,找图,找字",到底是个啥玩意儿。
工欲善其事必先利其器
在我们想要着手写代码前,如果我们对怎么找到我们想要点击的目标,以及用什么方式来找有一个较为清晰准确的思路,会对我们写代码就能起到事半功倍的效果。
所谓找色其实我们不需要去深究找色在计算机层面是如何实现的,只需要理解如何使用好找色,在什么时候什么地方使用好就可以。(当然如果有时间去深究找色原理,会让你对游戏脚本的编写有一个质的提升!)
在什么场景使用找色:
1. 你要找的目标比较颜色单一,并且一个区域内的颜色都是一样的;(这个一样取决于你使用按键抓抓看到显示的);
2. 多块不同颜色区域,且不会动的静态场景下使用;
寻找黄色块
不建议在什么场景中使用:
1. 颜色多变且不固定,有很多时候我们肉眼看到的区域可能颜色是一样的,但是实际上在像素层面呈现是有所区别的,不要相信肉眼,这里要依赖工具进行判断;
2. 对游戏而言,很多页面元素都是用画布渲染上去的,很多时候并不是标准的布局样式,所以对那些动态,闪烁,晃来晃去的目标也不建议使用;
题外话——多点找色
这是一个升级版的运用,也是我大多数时候使用的方式,这种方式需要一定的经验和技巧。使用多点找色也会面临有时候找不到,甚至如何处理动态图的问题。当然这一切都是有方法来解决的,通过设计和封装我们的多点找色函数就能非常有效的杜绝这样的情况在发生,在后续的文章我会一一为大家分享,今天我们着重于如何使用好找色找图找字。
所谓找图找图就是通过截图选取一个区域部分(甚至全屏),然后通过你截取保存的图片和手机那一刻的截图进行对比,然后给结果。(我们不需要去过多理解找图实现的原理,只需要知道在什么地方用好)
找图适用的场景:任何场景都可以使用找图,对于新手而言找图是一个非常不错的方法。
截取红框部位,然后进行对比
或许有的朋友会说"既然找图那么好,我直接全用找图好了。",不不不~我并不提倡这样的方式。就好比你在新手村刷怪用的是新手武器,非常好用也非常适合。随着等级的提升你进入了野外地图,这时候新手武器有伤害但是已经不合适了。
举例几个使用找图比较容易失败的地方:
1. 找了一个颜色比较复杂,而且还是渐变透明的地方。
2. 找了看上去一个颜色单一,但是实际一块渐变色的地方;
3. 因为游戏的不规则性,对于那种花里胡哨界面华丽的游戏,找图失败的几率会变高;
所谓找字一般情况下我们所说的找字,就是利用字库工具自己制作字库,当然也有非常好用的云字库(比如百度的字库)。它的本质也是找色,通过把需要找的一系列颜色进行转换并保存进一个文本里,并给这个保存的内容起一个别名,在运行代码比对保存的文本,内容相同返回别名。
什么时候使用找字:
1. 当你需要界面上显示的内容时,比如你要打印你游戏里的金币数量;
2. 只建议在需要数字,字母时候在使用,中文字符除非必要否则不建议使用;
按键抓抓找字
我不建议使用找字:
1. 占用资源;
2. 效率慢;
3. 字库保存的字越多,越容易出错;
4. 思维惯性,受到软件工程哲学的影响,这种占用率高,且容易产生冗余的方式都是不被推荐的;
完美主义!
结语无论是找色、找图、找字,其根本是像素对比,只要找到一个目标的区域来帮助你确定点击的位置即可。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved