找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 29464|回复: 61

[教程源码] 重大更新----想法+对象概念引入 一个让脚本可以运行10年...

 火.. [复制链接]

1

主题

5

回帖

7

积分

按键手机班学员

鲜花
0
猫粮
103
发表于 2019-5-24 23:03:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 mingmaina 于 2019-9-8 21:28 编辑

最近重做了很多部分 引入了 想法对象的 概念什么是想法 什么是对象先说对象 这个世界是由各种对象组成的 比如 木头 铁丝 石头 等等 这些都是对象
想法就是人的想法 有的人把各种对象组合加工 做出了一条船 有的人盖了房子

从中我们可以看出 对象是非常灵活的 你把它进行各种不同的重组 那么就形成新的对象
至于怎么重组 就看脚本作者的想法了
新引入的对象概念十分强大 它可以继承 修改 重做 扩充..极大减少代码量 逻辑清晰 而不混乱
例如 游戏里有各种各样的弹窗 比如闯关的弹窗 假如弹窗出现 那么就要去闯关, 然后你发现
当人物到达30级 就不需要闯关了 而是需要关闭闯关窗口  当到达50级时 出现了个扫荡的副本 和
闯关类似 但是有很多不一样的地方 按照常规脚本来说 那肯定是在重新写一个扫荡副本的函数
就很麻烦 然后我们看看对象和想法是怎么相互配合 来完美的针对这些棘手的情况

//x1a是闯关副本对象///////////////////////////////////////////////////////////////////////////
x1a={

{{0,'p1','&a1','&a2'}} ,                      //判断是否是闯关窗口
a1='000000',a2={20,50,100,800},  //坐标和颜色属性
{{0,'s1',3,'&a3','b','datetime("now");1',0,[12]={'c'}}, //2执行闯关
a3={60,80,90,50},a4={'fd09ac|'},                           
}

//x2a是扫荡副本对象////////////////////////////////////////////////////////////////////////////
x2a=new(x1a,{                                                                                                                       //此处x2a继承了x1a的所有属性和方法
a1='fffffff',a2={90,60,40,100},                                                                                                //我们只需要在闯关副本的基础上修改
[2]= {{0,'l2'},{0,'pr','t6'},{0,'p5','t6',{"18197A","-2|3|212A7B,-2|4|242879,-1|4|191F74"}}, //重做部分就可以形成新的扫荡副本对象
[5]= {{0,'wz',{760,191,880,478},[8]=10}},                                                                           //在原来基础上添加了新的方法
})

///////////////////////////////以上是对象的继承和重做简单实例/////////////////////////////////
需要说明的是 lua一个表中既可以是数组也可以是键值 我们把数组当成对象的执行方法 键值作为数组的属性
那么一个表就是一个对象 修改其中的数组和键值 可以实现对象的继承 重做 修改 扩充 等操作

////////////////////////////////对象强大的灵活性体现---->对象包///////////////////////////////
最上面我们说过 对象是十分灵活的 各种重组就能形成新的对象
我们举个脚本中的例子 当游戏号到达可以刷活跃度的时候 就不需要做任务了 而活跃度任务呢
往往99%在我们升级过程中都做过了 那么很多作者这时候会重新活跃度脚本 而不是把之前已经
写过的函数代码组织到一起 并不是他不想这样 而是没法这样做各种代码已经写死了 没法组织成
日常
然我们看看对象是怎么处理的 首先对象是有各种钩子的 如下
x1a是闯关副本对象//////////////////////////////////////////////////////////
x1a[1]=判断是否是闯关界面 如果是开始闯关 否则返回
x1a[2]=判断是否是闯关界面 如果是关闭闯关窗口 否则返回
x2a是扫荡副本对象//////////////////////////////////////////////////////////
x2a[1]=判断是否是扫荡副本界面 如果是开始扫荡副本 否则返回
x2a[2]=判断是否是扫荡副本界面 如果是关闭扫荡窗口 否则返回
x3a是修炼对象//////////////////////////////////////////////////////////
x3a[1]=去修炼
x4a是学习技能//////////////////////////////////////////////////////////
x4a[1]=打开学习技能界面 如何学习技能
x4a[2]=关闭学习技能界面
x4a[3]=升级技能
///////////////////////////////////////////////////////////////////////////////
那么我们根据自己的想法 把各种对象组织到一起 形成对象包 完成我们的想法
例如 我们要去完成日常活跃 首先要把所有窗口都关闭掉 然后去完成日常
我们需要2个对象包 1关闭窗口包 2完成日常包
p1={x1a[2],x2a[2],x4a[2]}             //这样 一个关闭窗口的对象包就形成了
p2={x1a[1],x2a[1],x3a[1],x4a[2]}  //一个做任务任务的对象包也形成了
那么我们先执行p1 在执行p2 就可以实现关闭窗口 执行日常 关闭窗口 执行日常的循环
通过以上可以看出 所有对象只需要写一次 就可以通过灵活的各种组合 形成一个个
对象包 就可以完成我们想要的各种任务 至于体系最早可能在年底放出把 并不是我不放而是很多地方不完善和欠缺 如果不成熟就放出来
假如中途有底层需要改动 那么你写的很多脚本就需要全部修改 造成很糟糕的后果 所以必须等到我觉得
差不多了 再能放 请大家不要着急




评分

参与人数 3猫粮 +13 收起 理由
周星星营销 + 3 很给力!
stein兴山 + 5
ycploveyu + 5

查看全部评分

楼主热帖

0

主题

2

回帖

2

积分

学前班

鲜花
0
猫粮
4
发表于 2019-5-24 23:14:03 | 显示全部楼层
坐等大佬更新教程o(∩_∩)o
  • 打卡等级:初涉江湖

0

主题

23

回帖

23

积分

按键电脑&手机班学员

鲜花
0
猫粮
189
发表于 2019-5-24 23:25:06 | 显示全部楼层
坐等大佬更新教程o(∩_∩)o

0

主题

1

回帖

1

积分

按键电脑&手机班学员

鲜花
0
猫粮
23
发表于 2019-5-24 23:38:38 | 显示全部楼层
坐等大佬更新教程o(∩_∩)o

1

主题

4

回帖

6

积分

按键手机班学员

鲜花
0
猫粮
48
发表于 2019-5-25 05:03:18 | 显示全部楼层
感觉好厉害
  • 打卡等级:无名新人

0

主题

13

回帖

13

积分

按键电脑班学员

鲜花
0
猫粮
227
发表于 2019-5-25 07:58:13 | 显示全部楼层
厉害厉害

15

主题

30

回帖

60

积分

小学生

鲜花
0
猫粮
506
发表于 2019-5-25 23:27:12 | 显示全部楼层
好的思路值得鼓励.................(*^▽^*)

0

主题

2

回帖

2

积分

学前班

鲜花
0
猫粮
2
发表于 2019-5-26 08:19:59 | 显示全部楼层
学习学习
  • 打卡等级:无名新人

0

主题

11

回帖

11

积分

按键电脑班学员

鲜花
0
猫粮
354
发表于 2019-5-26 16:53:31 | 显示全部楼层

坐等大佬更新教程o(∩_∩)o

0

主题

3

回帖

3

积分

按键电脑&手机班学员

鲜花
0
猫粮
23
发表于 2019-5-26 18:16:06 | 显示全部楼层

坐等大佬更新教程o(∩_∩)o(=^ ^=)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-12-22 23:03

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表