Godot学习笔记-await协程的运用

图片[1]-Godot学习笔记-await协程的运用-树萌芽の小窝

图片[2]-Godot学习笔记-await协程的运用-树萌芽の小窝

图片[3]-Godot学习笔记-await协程的运用-树萌芽の小窝

图片[4]-Godot学习笔记-await协程的运用-树萌芽の小窝

图片[5]-Godot学习笔记-await协程的运用-树萌芽の小窝

一些补充:

示例:等待几秒后执行动作

假设我们想在一个节点上等待 3 秒,然后移动节点的位置。可以使用 awaityield 来实现这个效果。

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("计时结束!")
温馨提示: 本文最后更新于2024-08-29 14:18:18,某些文章具有时效性,若有错误或已失效,请在下方评论 留言或联系 树萌芽の小窝
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容