godot-start/doc/demo01_hello/5.node2d.md

85 lines
2.8 KiB
Markdown
Raw Normal View History

2021-12-12 09:37:45 +00:00
# 1. 节点和功能的关系
- 节点 Node 用于实现一种功能例如Sprite 节点,用于图片的显示
- 一个节点的功能取决于它挂载了哪些子节点,它包含了哪些功能的子节点,就包含了对应子节点表示的功能
- 节点是可选的,可以添加、可以删除
2021-12-12 10:02:26 +00:00
2021-12-12 09:37:45 +00:00
- 先创建一个空的节点,再选择需要的节点
2021-12-12 10:02:26 +00:00
![Image text](image/node2d-00.JPG)
2021-12-12 09:37:45 +00:00
```
Sprite用来显示一张图片再给Sprite增加一个刚体
演示:
1 添加一个空的节点Node
2 挂载 Sprite 节点然后再挂载RigidBody2D刚体节点
3 移除RigidBody2D刚体节点
```
2021-12-12 12:11:21 +00:00
# 2. Node节点
2021-12-12 09:37:45 +00:00
2021-12-12 12:24:47 +00:00
- Node节点是基类节点所有节点都会继承Node节点所以其它类型都包含Node节点的功能
- Node节点是最核心的节点所有其他类型节点都是由Node节点派生出来的
2021-12-12 09:37:45 +00:00
2021-12-12 12:11:21 +00:00
![Image text](image/node2d-01.JPG)
2021-12-12 09:37:45 +00:00
```
1. Pause Mode节点的暂停
get_tree().paused = true
节点的三种可能状态有:
Inherit继承 :处理与否取决于父、祖父等等节点中第一个非 Inherit 状态的节点。
Stop停止 :无条件停止节点(以及 Inherit 模式的子节点)。暂停时该节点不会进行处理。
Process处理 :无条件处理节点(以及 Inherit 模式的子节点)。无论暂停与否,该节点都会进行处理。
process方法执行的优先级对于子节点依然有效
挂载外部的脚本
2021-12-12 12:11:21 +00:00
```
```
2021-12-12 12:19:00 +00:00
# 脚本初始化会首先调用这个方法会在_process()方法之前调用
2021-12-12 12:11:21 +00:00
func _ready():
# get_tree().paused = true
pass
var count = 0
2021-12-12 12:19:00 +00:00
# 每一帧都会调用这个方法
2021-12-12 12:11:21 +00:00
func _process(delta):
count = count + 1
if (count % 60 == 0):
print("parent node")
pass
2021-12-12 09:37:45 +00:00
```
2021-12-12 12:11:21 +00:00
# 3. CanvasItem节点
2021-12-12 09:37:45 +00:00
- CanvasItem节点CanvasItem -> Node
2021-12-19 04:49:51 +00:00
- Canvas是画布的意思所以CanvasItem代表了就是可以被绘制节点可以设置可视化界面和材质的颜色
- 所有的2D节点和GUI节点都继承于CanvasItem节点
2021-12-12 12:11:21 +00:00
- CanvasItem是按树的树的深度优先遍历顺序绘制的
- 可以通过设置CanvasItem的Show Behind Parent来改变最终渲染到屏幕上的画面顺序
2021-12-19 04:49:51 +00:00
- Texture 贴图,附加到物体表面的贴图
- Material 材质物体的质地指色彩纹理光滑度透明度反射率折射率发光度。实际就是Shader的实例
- Shader 着色器使用代码来渲染图形的技术可以控制GPU运算图像效果的一段代码
2021-12-12 09:37:45 +00:00
2021-12-12 12:11:21 +00:00
# 4. Node2D节点
2021-12-12 09:37:45 +00:00
- Node2D节点Node2d -> CanvasItem -> Node
```
Node2D节点继承于CanvasItem节点CanvasItem节点继承于Node节点所以Node2D节点包括了CanvasItem节点和Node节点的所有功能
Transform Node2d节点的基本属性在后面的脚本编程中Transform属性是最常用的
表示:
- Position 位置
- Rotation 旋转
- Scale 缩放
```