信号和回调函数
在Godot引擎中,信号(Signals)和回调函数(Callback Functions)是实现对象间通信的重要机制。它们允许你在一个对象中定义事件,然后在其他对象中监听这些事件并作出相应的响应。这种机制在游戏开发中非常有用,特别是在处理用户输入、游戏状态变化、对象交互等场景时。
信号的基本概念
信号是一种特殊的函数,当某个特定事件发生时,它会被触发。信号可以被连接到一个或多个回调函数,当信号被触发时,所有连接的回调函数都会被调用。这种机制类似于其他编程语言中的事件监听器(Event Listeners)。
定义信号
在GDScript中,你可以通过在类中定义一个signal
关键字来创建信号。例如,假设我们有一个玩家角色类Player
,我们希望在玩家角色死亡时发送一个信号:
# Player.gd
extends CharacterBody2D
# 定义一个信号,当玩家死亡时触发
signal player_died
func take_damage(amount: int) -> void:
# 假设玩家的生命值小于或等于0
if