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

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.2.9
软件大小:62.5M
更新时间:12-07

按键精灵iOS版
立即下载

软件版本:1.3.1
软件大小:29.2M
更新时间:09-29

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
返回列表 12345678» / 111
发新话题 回复该主题

[按键精灵手机版2.5基础教程] 10.框架、逻辑、功能点 [复制链接]

1#

按键精灵手机版2.5基础教程

10.框架、逻辑、功能点


基础的知识告一段落,我们开始试着写一个完整的脚本,一个脚本肯定离不开的三个东西----框架、逻辑、功能点,一个好的框架可以让我们更方便的管理脚本,增删改查都变得更加方便,有利于功能函数的重复利用;脚本的逻辑,采用稳定的判断,并给出一定的超时检测,让脚本更加稳定的运行,并在出问题时有更好的处理方式;功能点主要是根据游戏的逻辑来制定,每个游戏都有自己的逻辑,需要根据特定情况来考虑。

本期视频主要进行一个游戏脚本的分析(之前写的,游戏的功能可能并不实用,主要学习想法与思路,另视频讲的有点乱,请见谅,之后附上代码)
1. 框架

作为一个完整的脚本,我们需要的功能往往不止一个,还需要用户能够自己勾选需要的功能,如果没有一个整体框架,那么编写起来,越到后面代码越乱,甚至会出现大量重复的功能,因此,一个自己习惯的构架至关重要,这里我提供出我习惯使用的构架:树形结构。


我们将所有功能都写在函数内,将所有的函数当做一个个的节点,由统一的一个入口函数进行管理,要进行哪一个分支(节点),如图,比如脚本具有两个功能,分别为B和C,他们由同一个入口A进入,在A中进行判定(用户的选择),然后确定执行哪个,比如选了B功能,并且将B功能的2个分支都选择了(比如B为签到,并且有周签到月签到两种),我们先走其中一个分支,等做完了之后,我们可以再回到他们的起点(可以是前一个分支B,也可以是更早之前的分支A),然后走另一个分支。那么,如何确定一个个的节点呢?这里我们根据函数是否可以重复利用来判定,如果一个功能函数在其他功能中也能用到,那么我们就可以单独出来做成一个函数(确定一个节点)。
使用此框架可以方便的进行脚本的功能增删改查,如果你还没有形成自己独特习惯的编写方式,不如就使用这个吧!

2. 逻辑

逻辑分为脚本的逻辑和游戏的逻辑,这两者不可分离,我们写脚本的逻辑也要根据游戏的逻辑来进行,手机的反应速度,操作的网络延时,游戏的反应情况,这些都需要考虑进去,因此,我们需要一个稳定的判定,最简单的方式就是,需要对我们每一下的操作产生的变化进行捕捉,并且设置一定的超时机制,直到捕捉到变化才确定此次操作成功,并且根据捕捉到的变化确定游戏当前的情况来进行下一步的处理。


我们看一下上面这个图片,我们需要点击做一个任务,需要点击好友进去,于是我们使用图色操作捕捉到了这个按钮的图片,但是这里我们需要分析一下,首先,这个任务能不能进行,我们仔细的观察到,右上角有一个红点,这表示此任务还未完成,于是我们可以先判定一次红点是否存在,如果不存在:



比如这样,那么我们就跳过此任务,如果存在,那么就继续进行下去,我们需要点开它,这个时候,会先联网获取好友列表,说明这个延时是根据网络时间来判定的,我们不能简单的写一个固定的Delay来判定,我们知道,经过网络返回数据后,界面就会有变化,比如从读取状态变成好友列表显示,或者网络读取框的消失,这些我们都能捕捉到:


我们的每一步操作都能够确保操作成功,那么脚本就相当稳定。
至于游戏的逻辑。。。我们结合下一个功能点进行讨论。

3. 功能点

功能点的制作,最重要的是对于游戏的了解,我们需要知道游戏的哪一个功能最为实用,也最多人需要(千万不要学我没了解游戏就进行开发),游戏的功能点不止一个,于是我们可以封装成一个个的函数,他们之间互不影响,即使有部分相同的逻辑,也要分开写,毕竟脚本不是越短越好,第一要点还是要我们能看懂能方便修改添加为主,功能点分开能确保不会因为修改而导致其他的功能点出现问题。
一个功能点的实现方法往往不止一种,我们可以根据效率或者稳定度来来确定使用的方式,我们来看看一个签到就有哪些判定方式:



打开签到的界面,我们能找到一个这样的界面,可签到的周围还有一圈粒子效果,一直在转圈,我们通过观察,可以看出两条效果成180度,因此我们取他们相对位置相同的两个点判断,直到寻找到,由于粒子效果一直在动,可能要寻找多次才能找到(但是寻找速度非常快,这点耗时不算什么),这是一种办法,还有其他办法吗?我们尝试着点击签到,可以发现这样的变化:



相应签到天变成了这样的图,背景变灰色,有个大大的打钩,这样我们就能根据这个打钩来判定当前已经签到第几天,我们点击它的下一天就能够为下一天签到了。这种方式可以非常稳定的判断出天数,只要判断一次图色就能够得出结果,速度最快,但是写法也相对麻烦。我们还有更简单的办法吗?答案还是有,我们可以用最简单的方法,我们把签到的7个位置全部点个遍,这样也能达到目的,但是并不推荐使用。
说了这么多,还是看看代码与视频更实在(上千行代码放送)





附件:
resoures.rar (, 下载次数:2767)

最后编辑兄弟工程师13 最后编辑于 2015-10-21 13:49:08
本主题由 按键工程师 兄弟工程师13 于 2015/10/21 13:55:42 执行 移动主题 操作
2#

哇卡卡卡

3#

支持了,好厉害啊

4#

😃

5#

学习一下。。。

6#

必须坚持学习中

7#

谢谢各位工程师 辛苦了

8#

踩踩

9#

为什么一定要回复呢,麻烦

10#

进来掌握一下,谢谢提供

11#

看看学习中

12#

11111111111

13#

我看看怎么操作

14#

这个更加不懂

15#

学了学习

16#

学习中。。。

17#

没有回复

18#


19#

嗯就在

20#

看看 ,看看么

发新话题 回复该主题