场景:相当于电影舞台,舞台上有道具…灯光(可重复使用)
节点:广义上的演员,特效……灯光师…道具(无生命演员)
一个舞台可以带若干个演员
一个场景可以带若干个节点
一个场景可以挂其他场景
设计阶段:需要哪些场景,需要哪些演员(节点),组合起来,即为游戏
每个场景至少要有一个节点(根节点)名为node 2D
不一定只能是node2D,也可以是其他,但总要有一个节点作为根节点
根节点可以右键创立子节点,子节点也可以创造子节点,可以形成节点树
而节点和场景可以相互转化,比如二级子节点+该二级子节点的三级子节点=可以看作一个场景,右键这个二级子节点,点击「将分支保存为场景」即可转化为场景。再右键「转为本地」,就可以再转换回子节点的样式。
关于GScript:
Godot有两种开发模式,1.脚本模式(写代码) 2.可视化模式(连线)
推荐脚本,脚本特别简单,使用上需要 语法和python有80%相似(靠幸好选修过python。。。)
一个节点只能挂载一个脚本
声明变量:var
var a = 2
声明字符串变量:
var b ="text"
声明一个数组:
var c = [2,4,6]
数组索引下标从0开始,数组成员类型可以变化,浮点数,字符串也可用。
var c = [2,4,5,"text"]
声明一个常量(不能改了):
const NAME = "BOB"
声明枚举:
enum STATE {IDEL,ATTACK}
枚举名为STATE,枚举曲直为IDEL,ATTACK
自定义函数:func
静态语言:某个变量只能有一种类型。
动态语言:变量类型可以变化。
godot做法:可以指定类型
var a:int = 2
func _ready():
a = "haha". #报错
pass
函数返回值与指定返回值:
func my(m)->int:
print(m)
return 5
代表返回值指定为int类型。
func my(m)->void:
print(m)
return 5. #报错
因为void为不返回。
godot的bool没那么严格,非0都为真,0为假