彻底搞懂函数,读这篇文章就够了

简介: 如果你之前使用过任何一门编程语言,那么对于你来讲想必已经知道什么是函数,以及如何使用函数了,那你大可不必往下读了。这篇文章是写给新手看的,也就是说我假设你对于函数没有任何的概念。我们就先从什么是函数来说起吧!

如果你之前使用过任何一门编程语言,那么对于你来讲想必已经知道什么是函数,以及如何使用函数了,那你大可不必往下读了。这篇文章是写给新手看的,也就是说我假设你对于函数没有任何的概念。


我们就先从什么是函数来说起吧!


上学的时候,我们都学过函数,举个简单的例子:y = 2x。这就是一个函数公式,它的作用是什么呢?每当我们输入一个 x 的值时,都能够得到一个对应的 y 的值。例如,当前 x = 10,能够得到 y = 20。


从这里我们多少能够看出函数的一点儿端倪,它具备这样的功能:往里输入一个值,然后能够输出一个值。


现在,我们试着将上方的“y = 2x”的公式隐藏起来,就是说我们不知道到底里面的公式是啥,它变成了一个“黑匣子”,那么,此时我们其实只知道这样的一件事情,那就是我们往里扔进去一个值,这个“黑匣子”就会给我们返回一个对应的值。


640.png


这个“黑匣子”就是函数了。


什么?仍然不好理解?那我们再举个例子,想象一下你平时使用的计算器,我们只需要“咔咔咔”的把要计算的数字输入进去,然后按一下等号,计算器就给我们蹦出结果了。至于计算器内部到底是怎么算的,原理是什么,我们并不需要关心。


640.jpg


好了,到目前为止你大概已经知道函数是什么了,我们尝试着给它下一个易于理解的定义。


函数是一个你给它输入内容,它就会给你输出内容的黑匣子。


对于一个使用者来讲,函数是一个“黑匣子”,大多数时候当你使用函数时,都不需要考虑它内部的实现原理,只需要知道它能提供什么功能,即输入什么会得到什么。但是,现在你是一个游戏开发者了,你成为了一个创造“黑匣子”的人。那么,这时我们就有必要去了解如何制作函数了。


下面,就让我们来学习一下如何来创建函数吧!


来到微信小游戏制作工具中,在积木区的右侧选择“函数”类别,然后点击“新建函数”按钮。


640.png


我们为函数起一个名字,叫做“我的第一个函数”,点击确定,一个函数就创建好了。


640.png


它看起来像是这样,这就是函数刚创建时的样子。


640.png


上方,我们提到过,函数是可以有输入的,下面我们就为函数创建几个输入。


点击函数右侧的“+”号。


640.png


然后输入一个参数的名字,点击“确定”。


640.png


这样我们就为函数增加了一个输入了。这里有一个”参数“的概念,可以把它理解成函数的输入,函数有几个输入,我们就为其增加几个“参数”。


640.png


例如,下方这个是有 2 个参数的函数。


640.png


现在输入有了,接下来我们为函数增加一些逻辑,来处理这些输入。假设我们当前要实现一个这样的功能,输入两个数 a,b,计算出 (a+b)*(a-b) 的结果。


其实非常的简单,只需要使用一个运算积木块,即可实现这样的计算,如下图所示。


640.png


计算实现了,但是计算结果放在哪里呢?这时,我们就需要借助变量了,我们可以创建一个叫做”计算结果“的全局变量,来将计算结果保存在这个变量中。


新建一个”计算结果“的全局变量。


640.png


然后,将计算结果保存在这个全局变量中。


640.png


这样,一个函数就做好了,来看一下如何使用它。


在”函数“类别中找到刚才创建的函数,直接拖拽到积木区中使用。


640.png


这里我们直接输入两个数值,10 和 5 。然后点击”调试场景“看一下函数的运行结果。


640.png


可以看到通过这个函数,我们获得了想要的结果((10+5)*(10-5)=75),证明我们的这个函数创建成功并能够正常使用了。


640.png


总结一下,我们创建了一个函数,为函数增加了输入,实现了函数的逻辑,并通过”全局变量“来存储函数的输出。


如果你之前从未接触过函数的话,那么恭喜你,你的第一个”黑匣子“做好了,这是一件值得高兴的事情。


接着,我们再来继续深入一下。刚才,我们制作的这个函数其实还是有点儿不足之处的,就是最终的结果是通过”全局变量“来存储的,这相当于我们在这个”黑匣子“上连接了一个”外设“,专门用于显示结果。想要获得结果的话,还需要再去跟这个”外设“打交道。那么,有没有什么方法,能够让这个”黑匣子“自己既能处理输入,也能处理输出呢?


方法还真有,我们可以借助”局部列表“来解决这个问题,具体的方法可参见这篇文章。


最后,我们再来了解一下函数的另外一个功能,即帮助我们复用积木块。


我们在使用积木块拼游戏逻辑的时候,经常会遇到这样的情况,需要在多个精灵上实现相同的逻辑,此时,我们往往需要做一些重复的事情,就是在多个精灵上重复的去拼接相同的积木块逻辑。


这种情况下,我们就可以借助函数来实现积木块逻辑的复用,可以把这些相同的积木块逻辑放到函数中,然后在不同的精灵上调用这个函数积木块。这样不仅免去了重复拼接积木的麻烦,也让积木块逻辑变得更加整洁有序。


举个例子,下方是我制作的游戏中的一个函数,它的功能是给精灵设置颜色,根据输入数值的不同,设置不同的颜色。


640.png


因为这段积木在整个游戏中被多次用到,所以我将其放到了函数中,这样,当游戏中的某个精灵需要用到设置颜色的功能时,只需要把整个函数积木块拖拽过去就可以了。


640.png


最后,我们来总结一下。


我们知道了什么是函数,函数就是一个有输入和输出的“黑匣子”,给它一个输入,它就会对应的给出一个输出。接着,我们学习了如何在微信小游戏制作工具中创建和使用函数。最后,我们又了解了函数的另外一个功能,就是可以帮助我们复用积木块,免除重复拼接积木的工作,也能够让积木逻辑整洁有序。


这篇文章的内容就到这里了,对于函数,你搞明白了吗?

想学习做游戏的话,关注我的公众号就对啦!

相关文章
|
人工智能 网络协议 算法
5 分钟搞懂 ECN
5 分钟搞懂 ECN
1664 0
|
5月前
|
数据可视化 API
一文搞懂:【Havok】
一文搞懂:【Havok】
96 0
|
5月前
|
API
一文搞懂:关于串行接口
一文搞懂:关于串行接口
182 0
|
5月前
|
存储 C语言 C++
一文搞懂:世界上最神奇的mif文件生成方案
一文搞懂:世界上最神奇的mif文件生成方案
51 0
|
5月前
一文搞懂:关于“isbuzy”问题
一文搞懂:关于“isbuzy”问题
25 0
|
5月前
|
机器学习/深度学习 定位技术
一文搞懂:【OpenJ_Bailian
一文搞懂:【OpenJ_Bailian
32 0
|
5月前
|
PHP
一文搞懂:yeild理解
一文搞懂:yeild理解
32 0
|
5月前
|
前端开发 JavaScript
一文搞懂:【Reduc】ReactCounterExample
一文搞懂:【Reduc】ReactCounterExample
39 0
|
6月前
|
C#
彻底搞懂 for、while、do...while
彻底搞懂 for、while、do...while
70 0
|
6月前
|
SQL 关系型数据库 MySQL
搞懂connectTimeout和socketTimeout的区别
搞懂connectTimeout和socketTimeout的区别
320 0
下一篇
无影云桌面