从零开始独立游戏开发学习笔记(六十七)--Godot 学习笔记(二)--GDScript文档(一)-基础

368 阅读2分钟

因为发现 GDScript 也不完全是 Python,所以或多或少还是要学一下。不过也没多少就是了。

1. Number

科学计数法可以直接写 3e6。
特殊数字的关键字有这些可以记下:PI,TAU,INF。
分别代表 π,2π,无限大。

1.1 为什么 int 超过最大值不报错

和 python 无限大小不一样。在 GDScript 里,int 数字是 64bit,所以值只能在 -2**63 到 2**63-1 之间(因为要留 1bit 给正负记号)。给最大值加一会变成最小值,但不会导致代码崩溃。

不设计成崩溃而是循环到最小值,是因为对于游戏来说,有很多需要这个设计的时候。比如作为坐标值的话,我们并不希望坐标达到最大值后崩溃。

一般来说,因为 float 会有精度问题。所以精确计算的时候不要用 float。

2. 变量

虽然 Godot 是动态类型语言,但是也可以定义有类型的变量。语法是 var text: String = "hello"
别的没啥,和 python 一模一样。

3 & 4. 运算符 & 函数

和 python 一模一样。

5. 条件语句

GDScript 里的 switch 叫做 match。并提供了很多额外功能。可以一看。

6. 循环语句

和 python 一模一样。

7. 数组

和 python 一模一样,连方法名都一模一样。
GDScript 也提供了很多其他数组类型用于一些高级功能。等用的时候再说吧。

8. 字典

一模一样。可以用 duplicate 方法来 deep/shallow copy。

9. 类

Godot 里的节点就是类。场景也是类。我们在一个场景里引用另一个场景,实际上就是在这个场景上实例化另一个场景。

比较像 js,所有的类都有一个基类叫 Object,然后继承到其它类。
可以通过 in 来获取属性方法是否在某个类中。

10. 总结

语法上几乎完全是 python。