1个不稳定版本
0.3.0 | 2022年5月2日 |
---|---|
0.2.0 |
|
0.1.1 |
|
0.1.0 |
|
#177 in #bevy-plugin
26 每月下载量
8KB
108 行
Bevy-tick-timers
提供用于安排和管理基于Tick的计时器的Bevy插件。
基于Tick的计时器是按照状态更新次数而不是实际时间来运行的计时器。每次状态更新都构成一个"Tick"。
对于任何不在游戏会话之外更新的计时器,基于Tick的计时器是首选的。这使得游戏更一致且可重放(这也意味着它们更容易调试)。
示例
use bevy::prelude::*;
use bevy_tick_timers::{TimerPlugin, Timers};
fn add_timer(
mut timers: ResMut<Timers>,
) {
// Timers are Bevy systems, and thus can be closures.
timers.after(5, (move || {
println!("timer has gone off!");
}).system());
}
fn main() {
println!("starting up");
App::build()
.add_plugins(DefaultPlugins)
.add_plugin(TimerPlugin)
.add_startup_system(add_timer.system())
.run();
}
lib.rs
:
bevy-tick-timers
提供了一个Bevy插件,该插件允许使用基于Tick的计时器。
基于Tick的计时器是按照状态更新次数而不是实际时间来运行的计时器。每次状态更新都构成一个"Tick"。
对于任何不在游戏会话之外更新的计时器,基于Tick的计时器是首选的。这使得游戏更一致且可重放(这也意味着它们更容易调试)。
示例
use bevy::prelude::*;
use bevy_tick_timers::{TimerPlugin, Timers};
fn add_timer(
mut timers: ResMut<Timers>,
) {
// Timers are closures that take the world as a mutable reference.
timers.after(5, |_| {
println!("timer has gone off!");
});
}
fn main() {
println!("starting up");
App::build()
.add_plugins(DefaultPlugins)
.add_plugin(TimerPlugin)
.add_startup_system(add_timer.system())
.run();
}
依赖项
~18–34MB
~544K SLoC