12个版本 (6个破坏性版本)

0.7.2 2021年9月25日
0.7.1 2020年4月6日
0.7.0 2020年3月30日

989游戏开发 分类中

每月下载量 47

MIT 许可证

295KB
2K SLoC

Crow

Documentation Crates.io License: MIT

这个包还在早期开发阶段,非常不稳定,并且尚未完全实现所有功能

一个简单且相当高效的基于像素的2D图形库。 crow 被设计成易于使用,并应允许用户在不需要自定义渲染器或不安全代码的情况下完成他们几乎所有想要做的事情。

最新文档可以在这里找到。

最新版本可以在0.5.0标签中查看。

您还可以考虑查看akari,一个正在进行的展示项目。

这个包需要一个支持OpenGL版本 3.3 的GPU。

示例

use crow::{
    glutin::{
        event::{Event, WindowEvent},
        event_loop::{ControlFlow, EventLoop},
        window::WindowBuilder,
    },
    Context, DrawConfig, Texture,
};

fn main() -> Result<(), crow::Error> {
    let event_loop = EventLoop::new();
    let mut ctx = Context::new(WindowBuilder::new(), &event_loop)?;

    let texture = Texture::load(&mut ctx, "./textures/player.png")?;

    event_loop.run(
        move |event: Event<()>, _window_target: _, control_flow: &mut ControlFlow| match event {
            Event::WindowEvent {
                event: WindowEvent::CloseRequested,
                ..
            } => *control_flow = ControlFlow::Exit,
            Event::MainEventsCleared => ctx.window().request_redraw(),
            Event::RedrawRequested(_) => {
                let mut surface = ctx.surface();
                ctx.clear_color(&mut surface, (0.4, 0.4, 0.8, 1.0));
                ctx.draw(&mut surface, &texture, (100, 150), &DrawConfig::default());
                ctx.present(surface).unwrap();
            }
            _ => (),
        },
    )
}

依赖项

~15–25MB
~195K SLoC