HOME / 第 2 部分 · 核心概念与 GDScript 语法 / 第 11 课
MODULE 2 · 核心概念与 GDScript 语法
第 11 课 · 变量与数据类型
🎯 本课学习目标
- 学会声明变量 var / const
- 掌握 int、float、String、bool、Vector2 等基础类型
- 会用类型推断与类型标注
变量是数据的「盒子」。本课系统学习 GDScript 的变量声明、常用数据类型与命名规范。
📖 详细教学步骤
声明变量:var 与 const语法
var:可变变量,值可以改const:常量,声明后不能改
GDSCRIPTextends Node2D
var score = 0 # 可变:分数,之后可以加
var player_name = "小明" # 字符串变量
const MAX_HP = 100 # 常量:最大生命,不可改
func _ready():
score = score + 10 # 修改 var 的值
print(score) # 110
# MAX_HP = 200 # ❌ 报错!常量不能修改
基础数据类型语法
| 类型 | 说明 | 示例 |
|---|---|---|
| int | 整数 | 10, -3, 0 |
| float | 小数 | 3.14, -0.5, 2.0 |
| String | 字符串(文字) | "Hello", "游戏" |
| bool | 布尔(真假) | true, false |
| Vector2 | 2D 坐标/方向 (x, y) | Vector2(100, 200) |
| Color | 颜色 (r, g, b, a) | Color(1, 0, 0, 1) |
类型标注(推荐)语法
声明时用 : 标注类型,代码更清晰、报错更早:
GDSCRIPTvar score: int = 0
var speed: float = 5.0
var name: String = "Godot"
var is_alive: bool = true
var pos: Vector2 = Vector2(100, 200)
func add(a: int, b: int) -> int:
return a + b
Vector2:最常用的复合类型重点
2D 游戏里到处是 Vector2:位置、方向、速度都是它。常用操作:
GDSCRIPTvar pos = Vector2(3, 4) # 位置(3,4)
var vel = Vector2(1, 0) # 方向向右
# 常用操作
pos.x # 取 x 分量 = 3
pos.y # 取 y 分量 = 4
pos + vel # 加法 = (4,4),移动常用
pos * 2 # 缩放 = (6,8)
pos.length() # 长度/模 = 5 (勾股定理)
pos.normalized() # 单位方向向量
Vector2.ZERO # (0,0),预定义常量
命名规范规范
- 变量:小驼峰
myScore、playerSpeed - 常量:全大写
MAX_HP、GRAVITY - 函数:小驼峰
take_damage、move_player - 节点名:大驼峰
PlayerSprite
命名清晰是良好代码的第一步,之后协作和回顾都省心。
⚠️
var 和 const 用混了报错?
记住:要修改的用 var,永远不变的用 const。改 const 会直接编译报错。
⚠️
整数除以整数得到整数?
在 GDScript 中 5 / 2 结果是 2.5(float)。若要强制整数可用 5 / 2 as int 或 int(5/2)。
🧪 动手试一试
🏋️ 课后练习
声明一个玩家对象所需的所有变量:hp(int)、speed(float)、name(String)、alive(bool)、position(Vector2)、最大生命常量,并在 _ready 里 print 它们。
var hp: int = 100; var speed: float = 3.5; ... print(hp, speed, name)
💡
写类型标注(: int 等)能让你少踩很多坑,强烈建议养成习惯。
💡
Vector2 在检查器里就是那个 (x, y),脚本里操作它超高频,务必熟练。
🎓 本课小结
变量用 var 声明、常量用 const;核心类型有 int/float/String/bool/Vector2;推荐加类型标注;Vector2 是 2D 开发的灵魂类型。