132 个破坏性版本

使用旧的 Rust 2015

0.132.0 2024 年 5 月 21 日
0.131.0 2023 年 11 月 14 日
0.130.0 2023 年 9 月 26 日
0.128.0 2023 年 2 月 25 日
0.12.0 2015 年 7 月 31 日

#1728游戏开发

Download history 3290/week @ 2024-05-02 3336/week @ 2024-05-09 3513/week @ 2024-05-16 3589/week @ 2024-05-23 3762/week @ 2024-05-30 3067/week @ 2024-06-06 2828/week @ 2024-06-13 3123/week @ 2024-06-20 1945/week @ 2024-06-27 1114/week @ 2024-07-04 2354/week @ 2024-07-11 3195/week @ 2024-07-18 2729/week @ 2024-07-25 2914/week @ 2024-08-01 4032/week @ 2024-08-08 2509/week @ 2024-08-15

12,701 每月下载量
少于 70  个工具箱中使用

MIT 许可证

25KB
306

piston_window 构建状态 Crates.io Crates.io

为 Piston 游戏引擎提供的官方便利窗口包装器

注意!如果您是第一次访问 Piston,请从这里开始

Piston-Window 仅用于一个目的:便利。

文档

  • 导出编写 2D 交互应用程序所需的一切
  • .draw_2d 用于绘制 2D,以及 .draw_3d 用于绘制 3D
  • 使用 Gfx 与 Piston 生态系统中的 3D 库一起工作
extern crate piston_window;
use piston_window::*;
fn main() {
    let mut window: PistonWindow = WindowSettings::new("Hello Piston!", (640, 480))
        .exit_on_esc(true)
        .build()
        .unwrap_or_else(|e| { panic!("Failed to build PistonWindow: {}", e) });
    while let Some(e) = window.next() {
        window.draw_2d(&e, |_c, g, _d| {
            clear([0.5, 1.0, 0.5, 1.0], g);
        });
    }
}

PistonWindow 默认使用 Glutin 作为窗口后端,但您可以通过更改类型参数切换到另一个后端,例如 SDL2 或 GLFW

let mut window: PistonWindow<Sdl2Window> = WindowSettings::new("Hello Piston!", [640, 480])
    .exit_on_esc(true).build().unwrap();

PistonWindow 实现 AdvancedWindowWindowEventLoop。支持嵌套游戏循环,因此您可以在一个循环内包含另一个循环。

while let Some(e) = window.next() {
    if let Some(button) = e.press_args() {
        // Intro.
        while let Some(e) = window.next() {
            ...
        }
    }
}

有想法或反馈?在这里打开一个问题

依赖关系图

Dependencies

依赖项

~5–19MB
~222K SLoC