一些补充:
示例:等待几秒后执行动作
假设我们想在一个节点上等待 3 秒,然后移动节点的位置。可以使用 await
和 yield
来实现这个效果。
extends Node2D func _ready(): #
调用异步函数
await move_after_delay() # 定义一个异步函数 func move_after_delay() -> void: print("等待3秒...") # 使用 await 关键字等待 3 秒 await get_tree().create_timer(3.0).timeout # 移动节点到新的位置 position += Vector2(100, 0) print("移动节点到新位置: ", position)
示例:创建一个简单的计时器
extends Label
# 计时器的总时长(秒)
var total_time: int = 10
func _ready():
# 启动计时器
await start_timer(total_time)
# 定义计时器函数
func start_timer(duration: int) -> void:
var time_left = duration
# 每秒更新一次计时器
while time_left > 0:
# 更新显示的时间
text = str(time_left)
print("剩余时间: ", time_left, " 秒")
# 等待 1 秒钟
await get_tree().create_timer(1.0).timeout
# 减少剩余时间
time_left -= 1
# 计时结束,执行某个操作
text = "时间到!"
print("计时结束!")
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容