如何从零开始学做游戏脚本(教你写手游脚本)
如何从零开始学做游戏脚本(教你写手游脚本)安卓模拟器选择:按键精灵助手首先我们需要选择一个平台来帮我们更快的进行脚本的编写,我们没必要从头开始造轮子,这里我们选择一个比较成熟且相对比较简单一个平台——按键精灵安装按键精灵安卓:网上搜索关键字按键精灵-进入官网选择手机版-下载按键精灵手机助手。
前言今天来和大家分享一下我的一些写脚本的经验,尤其适合小白,当然有经验的人也可以参考借鉴,大佬们喷的时候轻点~
目标:
找到有效的方法启动游戏,打造一个非常实用的点击函数!
准备工作:平台选择:
首先我们需要选择一个平台来帮我们更快的进行脚本的编写,我们没必要从头开始造轮子,这里我们选择一个比较成熟且相对比较简单一个平台——按键精灵
安装按键精灵安卓:
网上搜索关键字按键精灵-进入官网选择手机版-下载按键精灵手机助手。
按键精灵助手
安卓模拟器选择:
推荐雷电模拟器,老平台值得信赖。下载安装完成后,在雷电游戏中心装上自己想玩的游戏,并且下载"包名查看器"。
雷电模拟器
包名查看器
最后准备工作:
启动按键精灵助手-新建脚本-按键精灵助手选择"源文件"模式-连接上模拟器
初级内容:启动游戏涉及到的内容:启动游戏的方式的理解,屏幕点击函数。
启动方式一:根据包名启动游戏
代码样例:
//假如包名是"phone.test.com"
RunApp("phone.test.com")
优点:
1. 不需要担心游戏图标在什么地方,哪怕不在当前页面也是可以的;
2. 只要包名没有输错,准确率100%;
缺点:
1.需要知道游戏的包名;(运行包名查看器-找到你想启动的游戏-复制包名)
2.需要了解一个启动app的函数——RunApp
启动方式二:根据游戏图标所在屏幕的位置坐标点击启动
代码样例:
//假如游戏图标在(500 200)位置
Tap(500 200)
优点:
1. 简单只要知道坐标就可以;
缺点:
1. 如果图标不在当前页面,或者图标被移动,那么就需要再找图标的位置,无法一劳永逸;
2. 需要了解一个函数——Tap
根据上述两种方式,我个人更建议使用使用第一种方式,方式一更加准确。
进阶内容:Tap函数的变形涉及到的内容:Tap函数 随机函数,如何模拟人工。
如何模拟人工:
既然说到Tap函数那么就需要考虑一些更具有实际意义的内容了,假如我每次都点击同一个位置,那么肯定多次点击下来都是同一个位置,结合我之前文章所说的,每次这样的点击事件其实是被存储在一个专门存放信号量的文件里的,那么一旦检查就能直接判定为你的行为是不正常的。
那么如何让这个行为变得正常呢,就是在这个坐标周围的区域内挑一个来进行点击。这个范围也是需要可控的,范围太大了找不到,范围太小了也容易被过滤为一个位置,再结合人手指点击到屏幕上一般所能覆盖的范围,我建议这个区域保持在(5-20)之间是一个非常不错的选择。
代码实现:
/*打造一个理想的点击函数
screenX : 屏幕中一个点的x坐标
ScreenY : 屏幕中一个点的y坐标
rand : 随机数的偏移范围
*/
Dim screenX ScreenY rand //定义3个函数参数
Function click(screenX ScreenY rand)
Randomize //创建一个随机数种子
Dim getRand = 0 //定义一个获取输入偏移范围的变量
If rand > 20 Then
//rand超过我们所想的最大值20,直接变为20
Dim r = 20 //定义一个临时变量
//获得一个指定范围内的随机数
getRand = Int(((r - (-r) 1) * Rnd()) 1)
Else
//获得一个指定范围内的随机数
getRand = Int(((rand - (-rand) 1) * Rnd()) 1)
End If
//在指定范围内点击
Tap(screenX getRand ScreenY getRand)
End Function
//运行,点击屏幕(270 256)坐标,在x和y正负不超过10区域内的一个点
call click(270 256 10)
结语:
编写脚本需要的是解决问题的思路,而不是刻板的步骤123。有思路并且选择合适自己的解决方案永远强于埋头蛮干!做任何事也是可以借鉴的,重要的是用什么方式比较合理有效的解决问题,而不是回避问题.