快速入门GDScript笔记

记录快速入门Godot的原生编程语言——GDScript

本文章长期更新(上次更新于2026.3.30)

前言(上)

几天前我发布了Godot的学习笔记,没有反响。如果现阶段就反响爆火那就不正常了。

考虑到编程语言的重要性,在这里另开一篇文章作为GDScript的学习帖。

视频被分为三个部分,为方便定位,以前中后言作为标注点

本文基于Brackeys的快速上手GDScript教程,在这里附上B站链接

Helloworld

新建脚本后会包含两个基本函数。关于这两个基本函数,我在关于Godot的笔记中已经写了,这里不再作赘述

使用print关键字输出相应内容

1
print("helloworld")

语法

视频中这一部分需要知道的就几件事

  1. 使用缩进符来确定代码的结构
  2. 区分大小写

关于缩进符表示归属,如代码所示

1
2
func _ready() -> void:
$logo.rotation_degrees = 90 # 这里通过加入一个缩进符来告诉引擎,该句归于_ready函数

修改节点1.0

只是在控制台输出就没意思了。没人打游戏时会想看你的控制台

上一篇文章提到过,节点是Godot的重要组成部分。我们可以在脚本中通过引用来修改节点的属性

绑定节点有两种方法。第一种方法是上篇文章提到的手动输入引用文法

第二种则是在节点库中直接拖到IDE中,将会自动生成语句

一般的引用格式如代码所示

1
$Label.modulate = Color.GREEN #引用的节点.属性 = 修改属性

按键绑定

  1. 创建映射事件

首先打开项目 - 项目设置 - 输入映射

建立新的映射之后按下加号,绑定键位。这里采用视频所给出的案例:创建一个名为my_action的事件,内容为按下空格键就会改变Label的颜色

  1. 脚本调用映射事件

用于按键绑定的系统函数**_input**函数格式如下

1
2
3
4
5
6
func _input(event):
if is_action_pressed(my_action) # 按住按键
$Label.modulate = Color.RED

if is_action_released(my_action) # 释放按键
$Label.modulate = Color.GREEN

变量 1.0

变量为一个属性,可以从字面意思上理解,这里不做赘述

定义变量的语法如下。

1
var varname = 20

可以通过运算符来更改变量

1
2
3
4
5
6
varname = 20		# 直接赋值
varname = 20 + 30 # 计算赋值
varname += 10 # 自加
varname -= 10 # 自减
varname *= 2 # 自乘
varname /= 2 # 自除

参考上面的按键映射可以在执行对应操作时进行变量数值改变

if语句

标准格式

我说真的这一些内容和其他语言重合度太高了,我只写出格式

1
2
if varname <= 0:
print("ur dead")

如果你是无意间点进来的零基础小白,一句话说明就是,如果if后符合条件,那么就会执行相应的操作

条件格式

同时满足或一个满足

1
2
3
4
5
if varname <= 0 and value = 1:
print("and condition"

if varname <= 0 or value = 1:
print("or condition")

else/elif格式

“如果……那么……”中的“那么”

1
2
3
4
5
6
if var > 0:
print("type 1"
elif var > 50
print("type 2")
else:
print("type 3")

注释

1
2
# 井号,解释完毕
# 这真是python啊

变量 2.0

在函数内部调用变量只能在函数内调用,但如果在大范围内用就可以在整个脚本中使用

前者叫局部变量,后者叫全局变量

常见数据类型

GDScript是一种动态语言。相比于其他静态语言,可以不用声明变量类型直接赋值,并且可以直接转换。

int:整数 float:小数 bool:布尔 string:字符串

可以通过添加对应类型更改数据类型

1
2
3
var number = 42
var text = "Meaning of life:" + str(number) # 加上str将原来的整数类型变为字符串
print (text)

但如果要静态数据类型,可以这样定义

1
2
var names: int = 114 	# 指定数据类型的格式
var names := 1919 # 自动指定,和静态类型一致

坐标数据类型

Godot使用Vector2Vector3 来表示二维坐标和三维坐标,一般用作表示位置

1
2
var position =  Vector3(1,2,3) 	# 初始化坐标
position.x += 2 # 坐标x自增

常量

关键词为const

1
const constant = 10
0条搜索结果。