首页 > 游戏资讯 > 《CS Online(反恐精英online)》【攻略】CSO lua零基础小教室(二)函式

《CS Online(反恐精英online)》【攻略】CSO lua零基础小教室(二)函式

时间:2021-01-03 21:08:23

yrgna1234 (misk) #1 2020-09-16 20:17:09
大家好 我是misk
上次讲解了程式的基本动作
分别是宣告,判断,运算
这次要讲解的是"函式"
我认为这对初学者来说这会比较困难
建议可以拿纸笔实际理解一次比较能顺手喔!

如果还没观看第一章,请前往传送门:




函式
函式非常重要,如果不会这个就不用想学API了,我们一样慢慢解释。

1.函式是什幺?
简单来说,函式就像是一部机器,它能让写程式的人"操控",并且会生产东西。

2.函式的宣告
我们直接拿例子来解说。

当我们要宣告函式时,我们需要在名字前面加上一个"function",这是要让程式知道这是一个函式。
而这个例子的意思是,我们宣告了一个名字为test的函式,并且宣告到有end的地方,
也就是value = 1(请记住:test()后面不用再加then)。

再来,刚刚说了这个只是函式的"宣告",并不是"使用"它,所以程式在执行的时候,
它只会解读说:我了解这部机器了,
而不是:我现在要使用这部机器了。

3.函式的使用
那我们要如何让程式"使用"呢?我们需要在程式码中呼叫它,直接上例子。

我们可以看到,在第5行我们打出了这个函式的名字,代表我们呼叫它了,请记住:
呼叫方式为test()而不是test
那你会问说,这个括号是做什幺用的?
下面解释给您听。

4.参数
我们刚刚说了函式就像是一部机器,它能做操控的动作
但我们要如何写出能操控的函式?
我们要如何操控?
很简单,我们看个例子。

这次函式的宣告,你会发现括号中出现东西了,它叫做value。
其实这也是宣告变数的一种,我们在函式中宣告了value,这时我们就可以在函式内使用这个变数。

这就像一台会製造衣服的机器,你想要製造几个?衣服要什幺颜色?
其实都是用参数去做调整的。

4.使用带有参数的函式
我们如何操控?只要在括号内放入正确的参数就好了,看下图。

这幺一来,当程式读取到第5行时,value为10,并且开始执行这个函式,一样函式的内容只有一行,也就是value = value + 1,这时的value已经被宣告并且为10了,经过运算后,此value的值就是11了。
请记住:函式结束后,函式中的value变数就会被程式捨弃,等到再一次呼叫此函数时,程式才会再建立value这个变数。

然后您可能会有疑问,就是能不能放更多参数?
当然可以,看下图。

我们让函式的括号出现3个参数,分别是value1,value2,value3,
第5行中,我们使用了函式,先让value1等于10,再让value2等于20,再让value3等于30,之后进入函式中的内容,内容为ans = value1 + value2 + value3,也就是说,ans就为60。
宣告多个参数时,请使用逗号分隔。

5.return回传值
我们刚刚说明过,函式像一部机器,不仅能操控外,也可以生产东西,而生产什幺东西就要靠return这个关键词了。我们举个例子:

这边在宣告函式时,里面多了一个return,这样之后我们使用这个函式时,如果他执行到有return的地方时,它就会回传一个值,并直接结束函式。我们举个例子。

这边我们可以看到再第7行使用了它,这边我们说明一下顺序。
1.程式由上往下,在第1行宣告了名叫test的函式。
2.在第7行宣告了一个变数a。
3.因为出现=,所以让a等于右边的test(10, 20, 30)。
4.因为看到了test(10, 20, 30),所以开始赋予value1,value2,value3的值,并且开始执行函式。
5.在函式中宣告一个变数ans,让它等于10+20+30,也就是60。
6.继续执行并看到return,因此将ans回传,而ans为60,因此这个函式把60回传给a变数,并且马上结束函式。
7.a就等于60了。

6.CSO API的一堆函式
这是CSO API的部分资讯。


你会发现很多东西都是用函式去控制的,像是图中的玩家复活或死亡。
所以为什幺我会说要学会函式才能使用api?因为当你要控制游戏的一些元素时,就需要用到函式,如果您不知道什幺是参数,什幺是回传,您将会学得很辛苦。

7.lua的print()函式
并不是所有函式都需要自己宣告,有些函式官方会提供,例如在上一章节出现过的print("您好"),你会发现这其实也是一个函式,print是函式名称,"你好"就是参数。
而这个函式的意思也很简单,就是会在console出现你放的参数,也就是会出现"您好"。
你一定会问说:我要去哪里看?

很简单,你可以在游戏中按下~键,当您执行程式时,所有print出来的东西都会在那个地方。
一样举个例子。

我在game.lua写了这两行

执行时,我们就可以按~键观看印出来的字。

还有很多好用的官方函式,这就看自己的需求再去网路上找喔!网路上有很多资源。


问题
Q:请问图中的value最后是多少?


一样可以在留言区讨论喔!其实这些都算是基本,如果想知道更多东西可以直接上网寻找,毕竟塞太多东西会太难,所以要尽量挑比较重要,并且能连结到API的东西来说明。

下一篇请往这:



看较旧的 5 则留言

misk: 09-18 11:57

[yutinglia:yutinglia] 讚喔

乂缄默乂: 09-18 19:57

misk: 09-18 20:17

[SAR65394391:乂缄默乂] 感谢支持

专题合集

精彩合集,奇葩无下限

相关文章

精彩推荐

大家还在看

手机版 | 电脑版