8 个版本 (5 个破坏性版本)
0.6.0 | 2024年7月13日 |
---|---|
0.5.0 | 2024年2月18日 |
0.4.0 | 2023年11月9日 |
0.3.0 | 2023年8月1日 |
0.1.1 | 2023年5月20日 |
#825 in 游戏开发
每月195 次下载
77KB
493 行
Bevy Flicker
此插件便于在精灵或网格上创建特定颜色的短暂叠加/混合。
要触发闪烁,您可以发送一个FlickerStartEvent,其中包含指定颜色、长度和强度参数。
还包括一个RepeatingFlicker组件,它将在间隔期间发送FlickerStartEvent。
这也适用于具有alpha的纹理,叠加层会考虑底层纹理的alpha值,并将调整叠加层的alpha值,使其强度与不同的底层alpha值成比例。因此,底层0.2的alpha值将减少叠加层的alpha值80%。对于alpha值为0的情况,叠加层的alpha值也将为0。
请参阅此alpha示例以查看此效果的视觉效果,您将注意到底层颜色在精灵中仍然看起来是一致的。
请参阅更多完整示例(以下显示的部分)此处
use bevy_flicker::prelude::*;
fn tick(query: Query<Entity>, mut event_writer: EventWriter<FlickerStartEvent>) {
for e in query.iter() {
event_writer.send(
FlickerStartEvent::builder(e)
.with_secs(0.5)
.with_color(Color::rgba(0.0, 0.0, 1.0, 0.2))
.build(),
);
}
}
视觉示例
cargo运行 --示例sprite_flicker |
---|
cargo运行 --示例mesh_flicker |
---|
cargo运行 --示例alpha_flicker |
---|
依赖项
~36–72MB
~1.5M SLoC