HOME / 第 2 部分 · 核心概念与 GDScript 语法 / 第 11 课
MODULE 2 · 核心概念与 GDScript 语法

第 11 课 · 变量与数据类型

⏱ 预计时长 30 分钟📊 难度 入门📚 模块 第 2 部分 · 核心概念与 GDScript 语法

🎯 本课学习目标

变量是数据的「盒子」。本课系统学习 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
Vector22D 坐标/方向 (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),预定义常量

命名规范规范

  • 变量:小驼峰 myScoreplayerSpeed
  • 常量:全大写 MAX_HPGRAVITY
  • 函数:小驼峰 take_damagemove_player
  • 节点名:大驼峰 PlayerSprite

命名清晰是良好代码的第一步,之后协作和回顾都省心。

⚠️
var 和 const 用混了报错?

记住:要修改的用 var,永远不变的用 const。改 const 会直接编译报错。

⚠️
整数除以整数得到整数?

在 GDScript 中 5 / 2 结果是 2.5(float)。若要强制整数可用 5 / 2 as intint(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 开发的灵魂类型。