construct2提供了自定义函数的功能


定义函数

首先,要添加一个函数对象。

construct2游戏开发学习(六):自定义函数_游戏开发


定义函数是个特殊事件,添加事件

construct2游戏开发学习(六):自定义函数_调用函数_02


“On function”用来定义函数

construct2游戏开发学习(六):自定义函数_construct2_03


输入函数名称

construct2游戏开发学习(六):自定义函数_函数_04


这样就定义了一个函数。在其下添加动作,就是函数的内容了。

construct2游戏开发学习(六):自定义函数_调用函数_05


函数调用

函数调用是个动作,在动作里添加

construct2游戏开发学习(六):自定义函数_调用函数_06


用“Call function”来调用函数

construct2游戏开发学习(六):自定义函数_游戏开发_07


输入要调用的函数名称,就完成了调用。

construct2游戏开发学习(六):自定义函数_游戏开发_08


运行到函数的时候,全局变量还没变

construct2游戏开发学习(六):自定义函数_construct2_09


运行完调用函数的动作,全局变量就被改变了。运行正确。

construct2游戏开发学习(六):自定义函数_函数调用_10


函数的适用范围

函数在当前event sheet里,其所在位置必须是当前判定能到达的位置。

如下图,调用函数的时候,函数所在位置的判断是正确的,所以可以调用。

construct2游戏开发学习(六):自定义函数_调用函数_11


而在下图,调用的函数当前所在位置的判定为否,函数不可被调用。

construct2游戏开发学习(六):自定义函数_construct2_12


函数只在当前的event sheet中才能被调用

construct2游戏开发学习(六):自定义函数_函数调用_13


可以通过include的方式调用其他event sheet里的函数,有点像引用命名空间。

添加include

construct2游戏开发学习(六):自定义函数_游戏开发_14


选择要包含的event sheet

construct2游戏开发学习(六):自定义函数_函数调用_15


这样就能跨event sheet调用了。

construct2游戏开发学习(六):自定义函数_游戏开发_16


函数适用范围结论:

  • 如果一个函数要保证被执行,最好放在顶级。
  • 可以利用函数的这一特性,来设置函数是否被调用。
  • 函数只能在当前的event sheet被调用
  • 可以通过includ的方式调用其他event sheet里的函数

函数传入参数

construct2的函数不设置传入参数,但是可以操作传入参数。

在刚才的函数里添加动作,用Function.Param(x)来设定获取传入的参数。参数是从0开始,下图有误。

construct2游戏开发学习(六):自定义函数_construct2_17


在调用函数的时候,可以添加参数

construct2游戏开发学习(六):自定义函数_函数调用_18


填入参数内容

construct2游戏开发学习(六):自定义函数_函数_19


这样,就可以调用一个带参数的函数了。

construct2游戏开发学习(六):自定义函数_construct2_20


函数返回值

在函数的动作里设置

construct2游戏开发学习(六):自定义函数_调用函数_21


直接输入返回值

construct2游戏开发学习(六):自定义函数_函数调用_22


用Function.Call("函数名",参数...)的方法,就可以获取返回值了。

construct2游戏开发学习(六):自定义函数_调用函数_23


另外,Function.Call("函数名",参数...)的方法,也可以用来调用函数

construct2游戏开发学习(六):自定义函数_函数调用_24


construct2游戏开发学习(六):自定义函数_construct2_25