【教程】 唯的小白Lua教学 第三期:Lua脚本的运行原理,代码规范,函数的构成

各位凌晨好,这里是唯。

这一期我们仍未涉及如何编写代码,别着急,先理解了脚本怎么工作的,虽然各位可能觉得没什么用,但是实际上有助于使用。此外,也算是解释一下第二期没说明白的东西吧。如果你编程能力很强,可以跳过这一期。话不多,我们开始。


一、Lua脚本的工作原理

这里,为了严谨,我使用程序流程图来表达Lua脚本的工作流程。

可见,Lua脚本在游戏不结束之前,在游戏里是一直被循环调用的,这也就是为什么我第二期一直强调,如何让某些代码运行一次的原因。如果不做限制,代码会一直运行到游戏结束。


二、代码排版规范

通常,代码采用缩进式的排版规范,虽然您不是程序员,但是,清爽的代码有助于您,以及别人阅读,并且理解您的思想。此外,也能使代码结构清晰。

简单来说就是,如果A包含B,那么我们在写B之前先敲一下tab键,对于记事本来说,相当于敲四下空格。

那么,我们来欣赏一组优秀的代码排版规范:

这样的结构,相当于大盒子里套了小盒子,是不是看起来很清爽,逻辑清晰呢?我们把它转换成直观图形的话,大家就能体会到代码排版之美了。

这里,为了严谨,我采用N-S(盒图)来描述这段代码的结构。

这段代码是Alcedo大佬编写的,其功能是:

向游戏里的聊天窗口,输入特效组id和特效id,就会将对应的特效显示在玩家身上。这对于做特效的modder而言,是很便捷的测试手段。您如果感兴趣,也可以尝试一下。


三、函数结构

编写Lua脚本,大部分时候都是在调用LuaScript里的函数,因此,如果懂得函数的结构的话,对于代码的编写和函数的调用,会有一定的帮助,看代码也就不会太迷惑。

函数结构主要有:函数体,传入参数,返回值,如图。

怎么理解这三部分呢?请看一段简单的,比较两数最大值的代码。

注:这并不是最简洁的写法,但是对于小白来说,看得比较清晰。

看到这里,您应该对Lua脚本有了更深的了解吧。顺带一提,函数或者变量的命名规范大概是能看懂,通常使用英文,当然,您用拼音也可以,但不要使用中文,编程里写中文的只能是注释部分。

LuaScript里的函数有严格的命名规范,因此意思其实也很好懂,比如:

Game_Player_SetActionFrame(frame)

翻译过来就是,设置游戏里的玩家当前动作的动作帧,要传入的参数为,想要设置的动作帧。是不是觉得清晰很多呢?这就是代码的魅力,规范,严谨。

至此,您对Lua脚本的理解,更进一步,距离编写脚本,也很近了。

附件里我附上了测试Efx的脚本,如果您是做特效,或者有需要的作者,又或许是热心学习代码的朋友,可以下载下来看看。

那么,我们下期再见。



附件
测试Efx的脚本
免费
by 爱尔斯蒂亚 更新于 2022-01-23
打赏后可直接下载附件 赠人玫瑰 手留余香
默认
最新
1