在函数中使用局部变量并且通过局部变量返回函数值的方案来了

简介: 感谢小游戏可视化体验官群中的一位叫做“@天羽地王”的朋友提供的思路。本文内容主要包括如何在函数中使用局部变量并且通过局部变量来返回函数的结果值。如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。

感谢小游戏可视化体验官群中的一位叫做“@天羽地王”的朋友提供的思路。本文内容主要包括如何在函数中使用局部变量并且通过局部变量来返回函数的结果值。

如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。



在微信小游戏制作工具中是没有私有函数这个概念的,也就是说所有的函数都是公共的,大家都可以使用,而且函数也没有返回值的概念,想拿到函数运行的结果只能通过设置一个全局变量,将结果存储在全局变量中,然后通过这个全局变量来使用。这种方法有很多的弊端,尤其是在有大量的克隆体存在时,每个克隆体都使用同一个函数,都去设置同一个全局变量,就会造成意想不到的结果。


那么能不能有一个方法,可以在函数中使用局部变量,而且还能使用局部变量去存储函数的返回值呢?办法还真有,只不过弯弯绕了一点儿。



如图我在基础文字上创建了 3 个局部变量,现在我想要做一个“求和”的函数,作用就是输入两个值,然后返回这两个值的和。


新建一个求和函数,设置 3 个参数,数值 1,数值 2 以及求和结果。我们希望将“数值 1”和“数值 2”相加的结果保存在“求和结果”中,将“求和结果”当作函数的返回值。



接着,在基础文字上增加如下的逻辑,先调用求和函数,然后显示出“求和结果”的值。



运行一下,我们来看。



基础文字上的局部变量“求和结果”竟然是 0,可见,虽然我们在函数中将相加的结果值设置到了“求和结果”变量中,但是函数执行完毕后,“求和结果”变量中并没有保存这个结果值,这种方法行不通。


事实证明使用普通的局部变量存储函数的返回值是不可行的,接下来我们试着使用“列表”这种局部变量试一试。


我们创建一个局部变量“返回值列表”用于存储函数的返回值。



接着修改一下函数的实现。



最后,修改一下“基础文字”上的逻辑,函数的参数传入“返回值列表”,然后从“返回值列表”中获取函数计算的结果。



再次预览调试一下。



这次成功了,通过使用“列表”这种局部变量可以在函数中存储值,并且在函数执行结束后,这些值依旧会保留。


那么,如果函数想要有多个返回值如何做呢?假设我们希望这个函数有四个返回值,分别为加,减,乘,除四个结果值。



继续往列表中插入数值即可,约定好列表的第一项是第一个返回值,第二项是第二个返回值……使用时想获取到哪个返回值直接获取列表的哪一项即可。


既然局部变量“列表”可以用于存储函数的返回值,那么“表格”和“对象”变量是不是也可以呢?是的。



我们可以通过设置对象的属性来让多个返回值更容易区分和辨认。


调试运行的结果如下:


使用“表格”也是一样的道理这里就不多赘述了。


虽然工具没有提供私有函数以及返回值的概念,但是使用这种“曲线救国”的方式基本可以满足在函数中使用局部变量,并且通过局部变量返回函数的结果值的需求了,希望这个方法对你有帮助。


如果你对游戏开发感兴趣,欢迎关注我,如果你有对游戏开发感兴趣的朋友,也欢迎把这个系列文章推荐给他。

欢迎支持一下我的微信小游戏作品“精致1010”,感谢~

精致1010

一个精致的小游戏~

小程序

有任何的想法或者疑问,欢迎添加我的微信,我会尽可能的为你提供帮助。

相关文章
|
3月前
|
开发者
局部变量,在使用时再定义
关于局部变量,适时定义可以提高代码可读性并规避不必要的bug。示例代码中,为了避免误解`checkTaskApplyDTO`仅设置了`userId`,在`existAppliedTask`方法内部,可以通过将`checkTaskApplyDTO`的定义与设置属性的操作靠近,以明确其所有属性值的来源。 另外,本文还展示了一个因提前定义变量`ret`而导致的bug实例。如果将此变量的定义延迟至其实际使用前,则可以避免此类问题。适时定义变量有助于减少混淆,提高代码质量。
30 4
|
5月前
|
C语言
用指针函数变量调用函数
用指针函数变量调用函数
18 2
|
存储 C语言 C++
函数的内部处理及全局变量和局部变量
函数的内部处理及全局变量和局部变量
114 0
函数的内部处理及全局变量和局部变量
|
人工智能 Shell
将结果分别赋值给变量
将结果分别赋值给变量
61 0
7-5python函数-变量的作用域
局部变量是在函数内部定义的变量,只能在函数内部使用;
112 0
|
存储 Unix PHP
变量的引用赋值与传值赋值
一、使用 memory_get_usage() 查看PHP内存使用量 1. 传值赋值
 变量的引用赋值与传值赋值
|
存储 数据可视化 Serverless
在函数中使用局部变量并且通过局部变量返回函数值的方案来了
感谢小游戏可视化体验官群中的一位叫做“@天羽地王”的朋友提供的思路。本文内容主要包括如何在函数中使用局部变量并且通过局部变量来返回函数的结果值。
141 0
在函数中使用局部变量并且通过局部变量返回函数值的方案来了
|
C语言
【C 语言】指针间接赋值 ( 直接赋值 和 间接赋值 | 在子函数中间接赋值 )
【C 语言】指针间接赋值 ( 直接赋值 和 间接赋值 | 在子函数中间接赋值 )
252 0
【C 语言】指针间接赋值 ( 直接赋值 和 间接赋值 | 在子函数中间接赋值 )
|
C++ 索引
C++ 在函数中使用静态局部变量,让函数返回数组
C++ 在函数中使用静态局部变量,让函数返回数组
239 0
C++ 在函数中使用静态局部变量,让函数返回数组