Appearance
数学与随机函数
GDScript 的 @GlobalScope 内置了一批全局函数,无需任何对象前缀,可直接调用。
数学函数
插值与范围
| 函数 | 示例 | 结果 | 说明 |
|---|---|---|---|
lerp() | lerp(0, 100, 0.5) | 50 | 线性插值,t ∈ [0,1] |
clamp() | clamp(150, 0, 100) | 100 | 限制在范围内 |
lerp 是写"平滑过渡"动画的核心;clamp 是写"血量不能为负、不能超过最大值"的标配。
基本运算
| 函数 | 示例 | 结果 | 说明 |
|---|---|---|---|
abs() | abs(-7) | 7 | 绝对值 |
sign() | sign(-3) | -1 | 符号函数 |
min() | min(2, 8) | 2 | 最小值 |
max() | max(2, 8) | 8 | 最大值 |
取整函数
| 函数 | 示例 | 结果 | 说明 |
|---|---|---|---|
floor() | floor(3.7) | 3 | 向下取整 |
ceil() | ceil(3.2) | 4 | 向上取整 |
round() | round(3.5) | 4 | 四舍五入 |
幂与三角函数
| 函数 | 示例 | 结果 | 说明 |
|---|---|---|---|
sqrt() | sqrt(16) | 4 | 平方根 |
pow() | pow(2, 10) | 1024 | 幂运算 |
sin() | sin(PI / 2) | 1.0 | 正弦函数 |
随机函数
随机种子
| 函数 | 说明 |
|---|---|
randomize() | 用时间作种子(默认每次启动序列相同) |
随机数生成
| 函数 | 示例 | 结果 | 说明 |
|---|---|---|---|
randi() | randi() | 随机整数 | 返回任意整数 |
randf() | randf() | [0, 1) | 浮点随机数 |
randi_range() | randi_range(1, 6) | 整数范围 | 含两端,模拟骰子 |
randf_range() | randf_range(0, 10) | 浮点范围 | 指定范围的浮点数 |
数组随机选择
| 方法 | 示例 | 结果 | 说明 |
|---|---|---|---|
pick_random() | ["金币", "宝石", "药水"].pick_random() | 随机一项 | 从数组中随机选取一个元素 |