1个不稳定版本
0.4.0 | 2020年12月28日 |
---|
#2000 in 游戏开发
2MB
1K SLoC
什么是bevy_crossterm?
bevy_crossterm
是一个使用crossterm作为渲染器的Bevy插件。它提供自定义组件和事件,使用户能够为终端开发游戏。
目录
特性
- 带有颜色和属性的精灵和样式
- 最多24位颜色(取决于宿主终端支持的情况)
- 增量绘制:仅在有变化时绘制到屏幕上
- 透明度:精灵可以有洞,因此下面的精灵不会被覆盖
- 设置光标的位置,显示和隐藏光标
- 设置窗口标题
- 集成到Bevy的资产系统中,因此精灵和样式可以从磁盘加载,也可以进行热重载
演示GIF
入门
请参阅示例以获取可运行的代码和详细的注释。
[dependencies]
bevy = { version = "0.4", default-features = false }
bevy_crossterm = { git = "https://github.com/octotep/bevy_crossterm", branch = "trunk" }
use bevy::prelude::*;
use bevy_crossterm::prelude::*;
pub fn main() {
let mut settings = WindowSettings::default();
settings.set_title("Hello, World!");
App::build()
// Add our window settings
.add_resource(settings)
// Add the DefaultPlugins before the CrosstermPlugin. The crossterm plugin needs bevy's asset server, and if it's
// not available you'll trigger an assert
.add_plugins(DefaultPlugins)
.add_plugin(CrosstermPlugin)
.add_startup_system(startup_system.system())
.run();
}
fn startup_system(
commands: &mut Commands,
mut sprites: ResMut<Assets<Sprite>>,
mut stylemaps: ResMut<Assets<StyleMap>>,
) {
commands
.spawn(SpriteBundle {
sprite: sprites.add(Sprite::new("Hello, world!")),
stylemap: stylemaps.add(StyleMap::default()),
..Default::default()
});
}
在任何时候按Ctrl-c退出。
依赖项
~19–28MB
~451K SLoC