1个不稳定版本
0.0.1 | 2021年10月24日 |
---|
#31 in #字体渲染
每月36次下载
在 3 个crate中(通过 firecore-engine)使用
1.5MB
7.5K SLoC
Tetra
Tetra 是一个用Rust编写的简单2D游戏框架。它使用 SDL2 进行事件处理,使用 OpenGL 3.2+ 进行渲染。
特性
- 受XNA/MonoGame启发的API
- 高效的2D渲染,默认支持绘制调用批处理
- 易于输入处理,通过轮询或事件,支持游戏手柄
- 默认使用确定性的游戏循环,类似于 Fix Your Timestep
- 内置常用构建块,例如
- 字体渲染
- 摄像头
- 屏幕缩放
安装
要将Tetra添加到您的项目中,请将以下行添加到您的 Cargo.toml
文件中
tetra = "0.6"
您还需要安装 SDL2 本地库 - 详细信息请参阅 文档.
示例
要显示一个简单的窗口在屏幕上,可以使用以下代码
use firecore_tetra::graphics::{self, Color};
use firecore_tetra::{Context, ContextBuilder, State};
struct GameState;
impl State for GameState {
fn draw(&mut self, ctx: &mut DefaultContext) -> firecore_tetra::Result {
// Cornflower blue, as is tradition
graphics::clear(ctx, Color::rgb(0.392, 0.584, 0.929));
Ok(())
}
}
fn main() -> firecore_tetra::Result {
ContextBuilder::new("Hello, world!", 1280, 720)
.build()?
.run(|_| Ok(GameState))
}
您可以通过运行 cargo run --example hello_world
来查看此示例的效果。
完整的示例列表可在 此处 获取。
支持/反馈
Tetra 开发尚处于早期阶段,您可能会遇到错误/不稳定的文档/奇怪的行为。如果您发现任何问题,请随时提交问题/PR!您也可以通过 Twitter 或 Rust Game Development Discord 联系我。
依赖项
~35MB
~561K SLoC