Godot学习笔记2——GDScript变量与函数

目录

一、代码编写界面

二、变量

三、函数

四、变量的类型


Godot使用的编程语言是GDS,语法上与python有些类似。

一、代码编写界面

在新建的Godot项目中,点击"创建根节点"中的"其他节点",选择"Node"。

点击场景界面右上角的绿色加号,路径处重新命名,模板选择"Empty",即可进入代码编写界面。

二、变量

在GDS中,我们使用"var"来定义一个变量。变量的命名规则与大多数语言一致,必须以字母、下划线开头,组成变量名的只能有字母、数字、下划线。

如果违反了变量命名规则,编译器会在代码编写区域的底部发出错误提示:

需要注意的是,变量之间的计算与转换只能在函数体内部进行,如果在外部,则会报错:

不同的变量分属不同的节点,在计算使用时需要强调是属于谁的变量。像这里我们的变量前应该有一个"self."来表示这是节点自己的变量,但"self."一般可以省略,所以并不是我们这里没有指定变量所属。

三、函数

在GDS中,我们使用"func"来定义一个函数:

在这里,"_enter_tree()"是一个特殊的函数,它会在节点进入场景树时被自动调用。

我们可以在代码编写框的右上角点击"搜索帮助",输入"_enter_tree",即可查看文档中对改函数的介绍:

一般来讲,GDS中由系统自带的函数都具有与之相同的命名方式,即下划线开头。

在上述代码中,冒号后面的内容拥有了一个缩进,也就是一个"tab"键的长度。拥有同一级缩进的代码块将被视为在同一级。同时,GDS对代码的缩进非常敏感,少一个空格或多一个空格都是会报错的,这点与python非常像:

缩进错误

在函数体中,我们首先使用了"print"函数,此函数也是提前封装好的,我们将鼠标移动到"print"处右键,选择"查找符号",即可看到对该函数的介绍:

函数体最后一行"pass",代表函数从这一行结束,一般函数的最后都要加这一句代码。

此时,点击引擎右上角的开始按钮,即可看到控制台输出了变量"a"所代表的值1:

四、变量的类型

在 GDS中,变量有四种类型,分别是:

  • int 整型
  • float 浮点型
  • string 字符串型
  • bool 布尔型

我们在GDS中定义了如下四种变量:

在GDS中,给变量赋值通常不需要先声明变量类型,系统会自动识别变量类型并进行动态更改。

需要注意的是,字符串类型变量赋值的时候需要把字符串两边用双引号括起来,布尔型变量只有两个值:"true"或者"false"。

在下方函数中,我们执行了一行把c的值赋值给a的代码,如果是在C语言环境下,运行会报错,但我们在Godot中运行看一下结果:

可以看到,"print"打印的是"Hello",证明在GDS中变量并没有严格的类型界定。

我们也可以手动锁死每个变量的类型,只需在变量赋值时在等号前面加冒号和变量类型即可:

可以看到,此时函数体中出现了报错,说明a和c的类型已经被强制界定了。

相关推荐
Nu11PointerException1 小时前
JAVA笔记 | ResponseBodyEmitter等异步流式接口快速学习
笔记·学习
亦枫Leonlew2 小时前
三维测量与建模笔记 - 3.3 张正友标定法
笔记·相机标定·三维重建·张正友标定法
考试宝2 小时前
国家宠物美容师职业技能等级评价(高级)理论考试题
经验分享·笔记·职场和发展·学习方法·业界资讯·宠物
黑叶白树4 小时前
简单的签到程序 python笔记
笔记·python
@小博的博客4 小时前
C++初阶学习第十弹——深入讲解vector的迭代器失效
数据结构·c++·学习
幸运超级加倍~5 小时前
软件设计师-上午题-15 计算机网络(5分)
笔记·计算机网络
南宫生5 小时前
贪心算法习题其四【力扣】【算法学习day.21】
学习·算法·leetcode·链表·贪心算法
懒惰才能让科技进步6 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope6 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen6 小时前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习