Expand description
Bevy 协程系统的主要库
该库提供了在Bevy系统中使用协程的能力,允许系统在多帧执行并暂停/恢复。
§特性
- 🎮 多帧执行: 系统可以跨多个游戏帧执行
- ⏸️ 暂停/恢复: 支持在任意点暂停执行并在后续帧恢复
- 🔄 异步操作: 内置对异步操作的支持(如延时等待)
- 🛠️ 简单易用: 通过宏自动处理复杂的生命周期和状态管理
§快速开始
ⓘ
#![feature(coroutines, coroutine_trait)]
use bevy::prelude::*;
use bevy_coroutine_system::prelude::*;
use std::time::Duration;
#[coroutine_system]
fn my_coroutine_system(
mut commands: Commands,
mut query: Query<&mut Transform>,
) {
// 第一帧执行
for mut transform in query.iter_mut() {
transform.translation.x += 10.0;
}
// 暂停1秒
yield sleep(Duration::from_secs(1));
// 恢复后继续执行
for mut transform in query.iter_mut() {
transform.translation.y += 10.0;
}
}Modules§
- prelude
- 预导入模块,包含常用的类型和功能
Macros§
- yield_
async Deprecated - yield_async!宏(已废弃,推荐使用原生 yield 语法)
Structs§
- Coroutine
Plugin - Bevy 协程系统插件
- Coroutine
Task - 协程任务的容器
- Coroutine
Task Input - 协程的输入参数
- Running
Coroutines - 管理所有运行中的协程任务
Traits§
Functions§
- next_
frame - 创建一个等待下一帧的Future
- noop
- 创建一个空操作(no-op)的 Future
- sleep
- 创建一个睡眠Future
- spawn_
blocking_ task - 一个通用的函数,用于在后台线程中执行阻塞任务并返回一个Future
Attribute Macros§
- coroutine_
system - 协程系统的过程宏