飞鹿优化,原来优化如此简单!

飞鹿优化—原来优化如此简单

当前位置: 首页 > 视频教程 > 按键精灵教程 >

按键精灵手机版教程第十课:框架、逻辑、功能点

时间:2016-07-10 10:41来源:飞鹿优化 作者:飞鹿优化 点击:
本期视频主要进行一个游戏脚本的分析(之前写的,游戏的功能可能并不实用,主要学习想法与思路,另视频讲的有点乱,
本期视频主要进行一个游戏脚本的分析(之前写的,游戏的功能可能并不实用,主要学习想法与思路,另视频讲的有点乱,请见谅,之后附上代码)
1. 框架

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


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

2. 逻辑

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


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



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


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

3. 功能点

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




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



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


(责任编辑:飞鹿优化)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片