TC官方合作论坛

标题: 优化脚本必备知识_关于封装功能函数的讲解 [打印本页]

作者: 蓝丝雨    时间: 2013-7-28 18:48
标题: 优化脚本必备知识_关于封装功能函数的讲解
本帖最后由 蓝丝雨 于 2014-3-7 15:50 编辑

脚本中存在着很多重复的语句,此时我们可以用功能函数来替代,使用功能函数可以让我们的脚本逻辑变得更加清晰,并且易于调试,
让我们先看看对于为什么要封装功能函数的解释

功能函数,我们可以把它理解为在一个脚本中,如果其中有些脚本内容优化完全相同或是相似,为了简化脚本,可以把这些重复
的程序段单独列出,并按一定的格式编写成功能函数,主程序在执行过程中如果需要某一功能函数,通过调用命令来调用该功能
函数,完成后返回主脚本,继续执行后面的脚本。


其实。我们可以把我们的整个程序看做成一个人,比如脚本的名字就是人的名字,那么功能函数,就是人一个个的动作。让我们来举个实例,比如说拿这
个动作。我们每天都要拿很多东西。如果放到代码里,我们要。。。


  1. 1.杯子
  2. 鼠标.移动( 杯子的x坐标, 杯子的y坐标)
  3. 执行拿起动作

  4. 2.筷子
  5. 鼠标.移动(筷子的x坐标, 筷子的y坐标)
  6. 执行拿起动作


  7. 3.汽车
  8. 鼠标.移动(汽车的x坐标, 汽车的y坐标)
  9. 执行拿起动作(超人呦~~)
复制代码
我们不难发现。其实我们每次的动作都是相同的,全部都是鼠标.移动 某坐标,然后执行拿起动作。这时候。我们就该考虑用功能函数了。
下面让我们看看功能函数的写法


  1. 空间名.拿起(杯子的x坐标, 杯子的y坐标)
  2. 空间名.拿起(筷子的x坐标, 筷子的y坐标)
  3. 空间名.拿起(汽车的x坐标, 汽车的y坐标)
  4. 。。。后面想加多少加多少
  5. 功能 拿起(x,y)
  6.     鼠标.移动(x, y)
  7.     执行拿起动作
  8. 功能结束
复制代码
看。是不是代码要简化很多呢?如果每一个动作的代码都要十条甚至几十条,我们能简化多少行的代码呢。想想吧亲~好。让我们来解释一下这个功能函数
的意思。
首先,功能函数的声明定义。是这样的


  1. 功能 函数名(参数a,参数b...)      
  2. 你的重复代码
  3. 功能结束
复制代码


说明参数可以是多个,也可以一个都没有,我们可以把参数理解成一个个未赋值的变量,而调用功能函数时填写的参数则是给这个变量赋值,如果我们只
想单纯的重复执行一段代码。那么只需写成


  1. 功能 函数名()
  2. 你的重复代码
  3. 功能结束
复制代码


接下来是调用,当我们写好功能函数后。我们只要执行调用的命令,功能函数就会执行啦。当然。如果不调用,功能函数是不会自动执行的,以下是调用
代码


  1. 空间名.函数名(参数a,参数b...)
复制代码
调用功能函数时填写的参数我们可以看做是给这个变量赋值,当然。如果你的功能函数不带参数,这样写也是可以的。

  1. 空间名.函数名()
复制代码
接下来,让我们做个小小的实验吧。请在TC的源文件(代码模式)输入以下命令
  1. 空间名.弹出消息框()

  2. 功能 弹出消息框()
  3.     辅助.消息框("我执行啦")
  4. 功能结束
复制代码
然后调试执行以上代码,我们会发现。跳出了一次弹出框,内容是“我执行啦”同理。如果多调用空间名.弹出消息框()几次,弹出框也就多跳出几次。我
们同样也可以试试以下代码

  1. 功能 弹出消息框
  2.     辅助.消息框("我执行啦")
  3. 功能结束
复制代码
如果不调用的话。这段代码根本不会执行,接下来让我们看看带参数的功能函数(下面代码)
  1. 空间名.弹出消息框("异形","铁血战士")

  2. 功能 弹出消息框(Nam1,Nam2)
  3.     辅助.消息框(Nam1&"大战"&Nam2)
  4. 功能结束
复制代码
调试执行上面的代码,我们会发现。弹出框的内容变成了异形大战铁血战士。这是,我们功能函数的参数Nam1和Nam2可以看做是变量。而调用功能函数的
参数"异形","铁血战士"则是在给两个参数赋值


最后。让我们看一下功能函数在脚本中的实际应用吧!让我们来看一个找色的例子(下面代码)
  1. 图像.区域找色(376, 401, 891, 703,#1DB6B6,0,intX, intY)
  2. 如果(intX > 0 && intY > 0)
  3.      鼠标.移动(intX, intY)
  4.      鼠标.左键单击()
  5. 如果结束
  6. 图像.区域找色(376, 401, 891, 703,#A92929,0,intX, intY)
  7. 如果(intX > 0 && intY > 0)
  8.      鼠标.移动(intX, intY)
  9.      鼠标.左键单击()
  10. 如果结束
  11. 图像.区域找色(376, 401, 891, 703,#7A1EB7,0,intX, intY)
  12. 如果(intX > 0 && intY > 0)
  13.      鼠标.移动(intX, intY)
  14.      鼠标.左键单击()
  15. 如果结束
  16. 图像.区域找色(376, 401, 891, 703,#2590D8,0,intX, intY)
  17. 如果(intX > 0 && intY > 0)
  18.      鼠标.移动(intX, intY)
  19.      鼠标.左键单击()
  20. 如果结束
复制代码

[attach]11124[/attach]
作者: julele    时间: 2013-7-28 19:02
沙发
作者: shadow    时间: 2013-7-28 19:15
看下
作者: kk1304231990    时间: 2013-7-28 19:38
哈哈哈哈哈哈哈
作者: TC☆脚本☆TC    时间: 2013-7-28 19:44
顶啊顶啊顶...
作者: hu863063648    时间: 2013-7-28 20:07
++++++++++++++
作者: 幼园留级老油条    时间: 2013-7-29 08:57
tertert
作者: guojia592    时间: 2013-7-29 15:47
学习下!!!
作者: laowantong    时间: 2013-7-29 22:27
KKKKKKKKKKKKKKKK
作者: a425673288    时间: 2013-7-29 23:46
学习拉~~~
作者: jvk538    时间: 2013-7-30 13:09
蓝师。。顶你哟
作者: smtrain    时间: 2013-7-30 21:32
111111111111111111111
作者: xxx123a    时间: 2013-7-31 05:54
               .
作者: 心瘾。    时间: 2013-8-7 10:12
111111111111111111
作者: wangzheda3    时间: 2013-8-8 11:40
111111111111111111111
作者: zhmap    时间: 2013-8-12 11:31
来学习
作者: TC006    时间: 2013-8-16 22:14
瞧瞧
作者: youxi4906    时间: 2013-8-19 08:39
学习学习
作者: ksap787523    时间: 2013-8-19 10:45
1111111111111111111111
作者: lzx8274    时间: 2013-8-20 16:56
学习了
作者: LHG1986    时间: 2013-8-21 20:19
来学习。谢谢老师!
作者: WILL1128    时间: 2013-8-28 19:06
看看
作者: xiaofunihao    时间: 2013-8-28 19:56
实用。。。。。。。。。。
作者: baiwuyiyong    时间: 2013-9-5 16:48
dfffffffffffffff
作者: 1391302898    时间: 2013-9-12 07:56
顶21122
作者: by8090    时间: 2013-9-28 02:15
不错
作者: galford    时间: 2013-10-19 22:20
脚本优化的好方法啊
作者: 地狱骑士    时间: 2013-10-21 23:57
`111谢谢分享!~~~
作者: a5986382    时间: 2013-10-27 14:22

哈哈哈哈哈哈哈
作者: alanges    时间: 2013-11-17 02:19
学习.....
作者: mkl    时间: 2013-12-5 00:56
顶21122
作者: 373572825    时间: 2013-12-7 20:50
看那好深奥
作者: lawyerdyd    时间: 2013-12-15 22:42
突击去游泳
作者: dabaowl    时间: 2013-12-25 09:09

作者: skyjbg    时间: 2014-1-17 19:01
学习学习
作者: 逸杭希伯来    时间: 2014-2-25 00:51
Akbku j
作者: suya3204    时间: 2014-3-7 12:14
十分感谢 很需要这样的教程
作者: mnizz    时间: 2014-4-11 17:18
学习一下优化
作者: q741230412    时间: 2014-4-12 15:32

作者: haohuaiqi    时间: 2014-4-19 04:30
6666666666
作者: 2721435382    时间: 2014-5-29 18:16
标题: RE: 优化脚本必备知识_关于封装功能函数的讲解
内容1111111
作者: itcfan    时间: 2014-6-21 22:58
学习一下
作者: 89348658    时间: 2014-6-26 23:03
爱人共同如果
作者: 1774322927    时间: 2014-7-11 15:14
11111111111111
作者: yhw5231    时间: 2014-7-17 10:19
bvmqbvmqbvmq
作者: zmj930213    时间: 2014-8-4 12:36
bixuzhichia ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
作者: a3g8h6r6jok2    时间: 2014-8-26 19:41
的凤飞飞反复
作者: wullsb    时间: 2014-8-27 02:50
1111111111111111
作者: zaion    时间: 2014-9-5 05:29
最后。让我们看一下功能函数在脚本中的实际应用吧!让我们来看一个找色的例子(下面代码)
作者: ken19811    时间: 2014-9-18 06:12

作者: 1111111qqq    时间: 2014-9-18 20:34
111111111
作者: maotcmao    时间: 2014-10-8 18:30
a
作者: zxoif    时间: 2014-10-11 16:26
学习
作者: nictsesky    时间: 2014-10-16 18:13
看看
作者: shuyu25108    时间: 2014-10-23 01:35
看看
作者: vankan    时间: 2014-10-25 22:50

作者: burning_chuang    时间: 2014-10-31 14:27
841891616
作者: 4633    时间: 2014-12-14 13:56
新手学习学习学习
作者: bblinx    时间: 2014-12-21 08:22
nfgffh
作者: jy110446    时间: 2014-12-25 23:17
啊实打实大师的
作者: tcchengg    时间: 2014-12-27 20:30
kkkkkkkkk
作者: yuduo1983    时间: 2014-12-28 13:42
学习
作者: a1648004555    时间: 2015-1-1 17:16
看看看看看看看看看看看看
作者: tangqunwei    时间: 2015-1-13 08:32
十分感谢
作者: tc520ct    时间: 2015-1-21 00:24
11111111111
作者: somaicro    时间: 2015-3-18 10:00
谢谢分享~
作者: jccyii    时间: 2015-5-3 18:12
看看
作者: lytslyts    时间: 2015-5-13 14:03
66666666
作者: zmy19891125    时间: 2015-6-15 11:00
路考看看
作者: ab01    时间: 2015-6-17 05:56

作者: d7185540    时间: 2015-6-17 15:57
111111111
作者: lml164    时间: 2015-7-16 15:56
22222
作者: lml164    时间: 2015-7-16 15:56
22222
作者: dekaonimama    时间: 2015-8-8 12:53
阿斯顿
作者: q1726    时间: 2015-8-15 22:17
啊啊啊啊啊啊啊啊啊啊啊啊啊
作者: 342695788    时间: 2015-8-18 16:28
111111111111111111
作者: 468208144    时间: 2015-8-19 18:34
66666666666666
作者: jy02687961    时间: 2015-8-19 23:19
sadsda
作者: skliza40628    时间: 2015-10-4 16:16
。。。。。。。。。
作者: 941801818    时间: 2015-10-10 17:30
5.0可以用吗
作者: llg1983    时间: 2015-10-25 23:26

作者: ekeen    时间: 2015-10-31 08:26
感谢分享
作者: ekeen    时间: 2015-10-31 08:26
感谢分享
作者: ekeen    时间: 2015-10-31 08:27
感谢分享,谢谢
作者: ekeen    时间: 2015-10-31 08:27
感谢分享,谢谢
作者: ekeen    时间: 2015-10-31 08:27
感谢分享,谢谢
作者: ekeen    时间: 2015-10-31 08:27
感谢分享,谢谢大家
作者: ekeen    时间: 2015-10-31 08:27
感谢分享,谢谢大家
作者: ekeen    时间: 2015-10-31 08:27
感谢分享,谢谢大家
作者: 85281585    时间: 2015-11-12 20:08

作者: yishunjian108    时间: 2015-12-16 11:45

作者: cdk4399    时间: 2016-5-2 08:07
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
作者: MHXYDXLL    时间: 2016-5-26 16:13
w3xsw3xsw3xsw3xsw3xsw3xsw3xs
作者: yangshengxi    时间: 2016-6-25 07:38
听任何人
作者: game0500    时间: 2016-7-1 08:39
优化脚本知识
作者: lingyunxiao    时间: 2016-8-26 12:55
非常需要
作者: 与鱼共舞    时间: 2016-8-29 00:07
学习下。。
作者: xiaomin    时间: 2016-9-6 18:02

作者: tbmbx2017    时间: 2016-9-10 18:51
支持楼主,感谢分享
作者: 划过天空的星星    时间: 2016-9-16 23:44
学习学习




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1