59 个版本
0.8.0 | 2023 年 3 月 17 日 |
---|---|
0.7.0 | 2022 年 3 月 23 日 |
0.7.0-alpha1 | 2022 年 1 月 7 日 |
0.6.7 | 2021 年 11 月 5 日 |
0.2.2 | 2018 年 12 月 24 日 |
在 游戏开发 中排名第 330
每月下载量 595
在 8 个库中使用
1.5MB
9K SLoC
四达
四达是用 Rust 编写的简单 2D 游戏框架。它使用 SDL2 进行事件处理,使用 OpenGL 3.2+ 进行渲染。
状态
自 2022 年 1 月起,四达不再积极开发。虽然有时仍会进行错误修复和依赖项更新,但不再计划添加新功能。只要不带来大量维护负担,特征 PR 也可能会被接受 - 如果您考虑进行任何重大更改,请打开问题/讨论线程!
更多信息请参阅 这篇博客文章。
功能
- 受 XNA/MonoGame 启发的 API
- 高效的 2D 渲染,默认启用绘制调用批处理
- 易于输入处理,通过轮询或事件,支持游戏手柄
- 默认为确定性的游戏循环,类似于 Fix Your Timestep
- 内置常见构建块,例如
- 字体渲染
- 摄像机
- 屏幕缩放
安装
要将四达添加到您的项目中,请将以下行添加到您的 Cargo.toml
文件中
tetra = "0.8"
您还需要安装 SDL2 本地库 - 详细信息请参阅 文档。
示例
要显示简单的窗口,可以使用以下代码
use tetra::graphics::{self, Color};
use tetra::{Context, ContextBuilder, State};
struct GameState;
impl State for GameState {
fn draw(&mut self, ctx: &mut Context) -> tetra::Result {
// Cornflower blue, as is tradition
graphics::clear(ctx, Color::rgb(0.392, 0.584, 0.929));
Ok(())
}
}
fn main() -> tetra::Result {
ContextBuilder::new("Hello, world!", 1280, 720)
.build()?
.run(|_| Ok(GameState))
}
您可以通过运行 cargo run --example hello_world
来查看此示例的实际效果。
完整的示例列表可在 此处 获取。
支持/反馈
四叶草(Tetra)的开发还处于早期阶段,因此您可能会遇到错误/不稳定的文档/一些奇怪的现象。如果您发现任何问题,请随时提交问题/PR!您也可以通过Twitter或Rust游戏开发Discord联系我。
依赖项
~32–66MB
~1M SLoC