Godot学习中的问题及思考、学习笔记 03
GameManager 类在 Godot 项目中通常扮演着游戏管理器的角色,负责协调游戏内不同系统、状态和数据的管理。它是一种设计模式,用于集中管理游戏逻辑和状态,使得游戏的结构更加清晰,也便于维护和扩展。
GameManager 可以处理多种任务,包括但不限于:
游戏状态管理:控制游戏的当前状态,比如开始、暂停、结束等,以及场景之间的切换。
玩家数据管理:存储和管理玩家的游戏进度、分数、偏好设置等数据。
全局设置:管理游戏的全局设置,如音量、图形设置等。
资源管理:加载和管理游戏资源,如场景、音频、贴图等。
游戏逻辑控制:执行一些全局的游戏逻辑,如处理玩家的输入、游戏的得分逻辑等。
界面(UI)管理:控制游戏内各种用户界面的显示与隐藏,如菜单、HUD等。
事件和信号处理:作为中心节点,监听和分发游戏内的事件和信号。
GameDataManager 类在 Godot 项目中负责管理玩家数据,包括玩家的状态、装备、经验等。这个类通过一系列方法和信号实现了对玩家数据的详细管理。
onready 关键字用于延迟变量的初始化直到节点及其所有子节点都进入场景树后。
这意味着,当你声明一个 onready 变量时,你可以安全地访问节点及其子节点,因为此时它们已被完全初始化并加入到场景树中。
先connect绑定,然后 emit_signal
嗷
signal time_offset_changed (value)
func _on_OffsetValue_value_changed(value: float) -> void:
emit_signal("time_offset_changed", int(offset_value_field.value))
使用 emit_signal 方法发射之前声明的 time_offset_changed 信号,并传递了一个整型参数。
这里假设有一个名为 offset_value_field 的节点或变量,
其 value 属性被取出并转换为整数,然后作为信号的参数。
yield(get_tree().create_timer(freq), "timeout")
这行代码创建了一个计时器,每次循环等待 freq 秒后继续,这样就通过 freq 控制了震动的频率。