3个不稳定版本
0.2.1 | 2023年11月21日 |
---|---|
0.2.0 | 2023年11月21日 |
0.1.0 | 2023年11月10日 |
#1038 在 游戏开发
13KB
201 行
Rusty Text UI (rusty_textui
)
rusty_textui
是一个简单的文本UI引擎,旨在供刚开始学习Rust的人使用。它具有简单的界面,功能足够创建基于终端的游戏或应用程序。我专门为我的终极Rust速成课程的学生创建它,以用于他们的课程项目。您可能想与rusty_audio一起使用以产生声音,并使用rusty_time进行计时。
快速开始
在您的终端中,将 rusty_textui
添加到您的项目
cargo add rusty_textui
在您的代码中
use rusty_textui::prelude::*; // Bring all the important stuff into scope
fn main() {
// Create the screen
let mut screen = Screen::new(80, 25, false);
// Set up game/application logic
let mut player_col: usize = 0;
// Set up a main loop, with a label so it can be exited easily
'mainloop: loop {
// Handle user input
for key_event in screen.get_key_events() {
match key_event.code {
KeyCode::Right => player_col = (player_col + 1).clamp(0, 79),
KeyCode::Left => player_col = player_col.saturating_sub(1),
KeyCode::Esc => break 'mainloop, // Esc key exits the main loop
_ => {}
}
}
// Draw the current state of everything
screen.draw(player_col, 12, "X", Color::Blue);
// Flip the frames so the one we drew to is visible, and a new blank frame is ready for us
// to draw the next frame to.
screen.flip();
}
}
贡献
所有贡献均假设在MIT/Apache-2下双许可。
许可
在MIT许可和Apache许可(版本2.0)的条款下分发。
请参阅license/APACHE 和 license/MIT。
赞助
如果您喜欢Rusty Audio,请考虑在GitHub上赞助我。 💖
依赖项
~0.8–6.5MB
~20K SLoC