昨天我打开了引擎, 创建了一个项目, 显示了一个方块(Godot图标), 一个很好的开始, 今天继续推进
挂载脚本
在main场景上挂载一个脚本main.gd, 覆盖_ready函数, 输出"hello world", 这是编程之始

在我们创建节点的时候, 会发现Godot中有非常多的节点类型,对于不熟悉的节点, 可以根据名字了解它大概是个啥, 具体的细节可以到官方文档查看细节内容
官方文档
顺带一提, 官方文档提供中文版本, 并且具有详细的教学甚至教程章节, 推荐学习

以下是官方文档地址
- 官方中文文档: docs.godotengine.org/zh-cn/4.x/
- 所有类参考文档: docs.godotengine.org/zh-cn/4.x/c…
我最喜欢的就是所有类参考文档这一页, 直接包含所有内容, 想知道什么都可以搜索点击进入查看, 是一本电子Godot字典
这里面保罗万象, 左侧也按照类型给出了树状的组织目录

可移动的玩家场景
玩家场景res://entities/player/player.tscn
res://entities/player/player.tscn
└── Player (CharacterBody2D)
├── Sprite2D (Sprite2D)
└── CollisionShape2D (CollisionShape2D)
Sprite2D中添加Godot商标作为占位资源, CollisionShape2D添加一个圆形碰撞形状
在player.tscn的根节点Player上绑定res://entities/player/player.gd脚本
在Project - Project Settings - Input Map中添加输入映射
- move_up: W,
- move_down: S,
- move_left: A,
- move_right: D,
在player.gd中, 监听输入, 转换为方向向量, 让Player向方向向量按一定速度移动
func _process(delta: float) -> void:
var input: Vector2 = Input.get_vector("move_left", "move_right", "move_up", "move_down")
velocity = input * move_speed
move_and_slide()
看看效果吧
虽然现在还很简单, 但我们拥有一个可移动的玩家了!
在我们的主场景main.tscn中实例化一个player.tscn场景, 并把它移动到视野中间, 运行起来, 按下移动按钮
