游戏脚本怎么写(如何自学编写手游脚本)

合成类游戏基本玩法就是同样游戏角色拖动到一起,就可以合成一个高一级别的新角色。

关于“合成类”游戏脚本的编写思路

对于我们写脚本来说,首要解决的问题就是如何准确识别角色的级别,以上图为例,每个人物左侧有一个编号,这个数字就是角色的等级。

针对于这个游戏,人物虽然在不停的颤动,但是级别的数字是固定不动的。所以这个对于我们识别是比较容易的。

在识别的过程中,为了提高识别效率,我们只识别12个人物所在的位置区域,当然别的游戏可能16格或者更多,暂时不考虑无格子的类型啊。

识别完第一个人物等级,再识别第二个人物等级,这个识别范围的变化是有规律的,先横向依次移动4个格子,然后在第二行、第三行执行同样的操作。这种代码表示就是双重循环。

For j = 0 To 2

For i = 0 To 3

//要循环的内容

Next

Next

假定我们初始位置是x0,y0,也就是下图中红框左上角的点坐标。

红框的大小是每个人物占的位置,宽度x,高度是y,这个距离一定要测量准确,不能瞎填。

关于“合成类”游戏脚本的编写思路

得到上面的数据以后,我们的找图范围就可以定下来了。

For j = 0 To 2

For i = 0 To 3

//找图范围是 x0 i*x,y0 j*y,x0 (i 1)*x,y0 (j 1)*y

Next

Next

这个范围是随着循环而有规律变化的,保证每次循环找不同区域。

下面是识别数字,我的思路是从小到大,原因是小的人物合成会变成大一级别的人物。这样识别操作会友好一些,不过也不唯一看个人习惯。

接下来要解决的拖动合成问题了,拖动合成分两个步骤:

①确定有两个一样等级(数字相同)的人物,获取他们的坐标。

②把第一个人物拖动到第二个人物上。

我解决这个问题的思路是,用一个数组存储坐标。

比如,我获取到等级为11的人物坐标,当获取到第一个以后,我会先存入数组中备用,之后我会继续往后识别看看还有没有等级11的人物。

到这里有两种可能性:一是还有1个或多个等级11的人物,二是没有等级11的人物。

先说第一种情况:还有等级11的人物,把获取到第二个等级11人物的坐标再次存入到之前的数组中。这时数组里面就有两组坐标。之后加个判断当数组里面有两个内容以后,执行拖动人物的操作(滑动)。下面的操作很关键,拖动完以后,原有的坐标已经没用了,清空数组里面的坐标,开始新的识别操作,以上操作重复执行。

第二种情况:也就是没有识别到等级11的人物,那么此时说明整个画面上就只有一个11级的人物,那么11级的识别结束到此为止。开始识别等级12的人物。这个时候一定要注意,也要清空数组的坐标,否则会出现这种情况:就是数组中存在等级11的坐标,又再得到一个等级12的坐标,误以为两个是同等级人物的坐标,而执行了拖动人物合成的操作。

关于拖动人物合成这一步就比较简单,一个滑动命令解决了,每次拖动成功以后,点一下购买新的人物,补充因合成后造成的空缺。

在识别的时候,我是用的找图命令,每个数字截一个图,之后每张图用数字命名,目的是把循环的计次变量作为找图的名称。

比如像找等级6-10,就可以这样写,n作为图片名称的变量。

For n = 6 To 10

FindPic 0, 0, 0, 0, "Attachment:"

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。

您可能还会对下面的文章感兴趣: