跳到主要内容

示例9:函数的使用

在程序中,函数是组织好的可重复使用的代码段,用于实现单一或相关联的功能,能够帮助简化重复逻辑,提升编写游戏逻辑的效率。

在星火编辑器中,可以通过触发编辑器左上角的函数按钮新建一个函数,也可以用和新建全局变量一样的方法,点击任意文件夹右边的+号,在下拉菜单中选择新建函数。

函数的介绍与声明

函数可分为三个部分:函数定义(函数头)、函数体、返回语句。

从上到下分别为函数定义、函数体、返回语句

函数定义

函数定义指的是函数的名称、修饰符、参数和返回类型。

每个函数都有其唯一的名称。在触发编辑器中,除了可以定义函数的名称外,还可以定义额外的显示名。

函数的参数指的是在执行函数时需要向函数传入的值。和局部变量的添加方法类似,添加参数需要在参数栏内点击+号,参数创建后需要填写名称和类型。

函数的返回类型是函数执行结束或执行过程中,向外部返回值的类型。除了基本类型和复合类型外,函数还可以返回void(空)类型,这意味着该函数无需向外部返回值,也无需添加返回语句。

此外,勾选上方的“显示详细设置”后,可以进一步修改函数定义,包括配置和各项修饰符等。

函数体

函数体和触发器中的动作一样,都包含着对应的游戏逻辑和对应的局部变量,可以在动作块中填写该函数需要执行的语句。

一个计算1到n(n为传入的数值)之间奇数和的例子,完整函数见项目中触发器示例8_相加

返回语句

如果一个函数的返回类型不为 void(空),那么在函数结束前,需要添加返回(return)语句并返回一个值。

返回语句添加后,需要指定一个返回值,该返回值的类型必须与函数头定义的返回类型相匹配。

需要注意的是:如果 if 语句的一个分支存在返回语句,那么另外一个分支或 if 语句的外层也要添加返回语句,for/while 循环内的返回也需要考虑这个情况。比如下方的案例:

使用for循环遍历数组,检查数组中有无传入的数值,有则返回真,否则返回假。

如何使用函数

当一个函数被创建并编写完之后,需要在合适的时机对其进行调用。在触发器或其他任何函数中添加语句时,可以选择函数选项卡,搜索创建过的函数名,双击该函数,就可以生成一条函数调用语句。