59 个版本

0.8.0 2023 年 3 月 17 日
0.7.0 2022 年 3 月 23 日
0.7.0-alpha12022 年 1 月 7 日
0.6.7 2021 年 11 月 5 日
0.2.2 2018 年 12 月 24 日

游戏开发 中排名第 330

Download history 150/week @ 2024-03-14 142/week @ 2024-03-21 223/week @ 2024-03-28 172/week @ 2024-04-04 103/week @ 2024-04-11 122/week @ 2024-04-18 165/week @ 2024-04-25 94/week @ 2024-05-02 86/week @ 2024-05-09 94/week @ 2024-05-16 107/week @ 2024-05-23 277/week @ 2024-05-30 149/week @ 2024-06-06 142/week @ 2024-06-13 163/week @ 2024-06-20 91/week @ 2024-06-27

每月下载量 595
8 个库中使用

MIT 许可证

1.5MB
9K SLoC

四达

Build Status Crates.io Documentation License

四达是用 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!您也可以通过TwitterRust游戏开发Discord联系我。

依赖项

~32–66MB
~1M SLoC