5 个版本
0.1.6 | 2022 年 8 月 11 日 |
---|---|
0.1.5 | 2022 年 7 月 29 日 |
891 在 游戏开发 中排名
每月 下载 30 次
40KB
1K SLoC
罗维拉
一个多用途的游戏引擎/库,但主要用于 2D 游戏
注意:此版本是不稳定的
特性
- 包装平台窗口代码
- 包装平台事件
- 包装器很薄,开销最小(或至少计划最小开销)
- 支持 xcb 和 win32(或 Linux 和 Windows)的原始窗口句柄
计划
- 新功能将具有可选使用
- 支持 SIMD、OMP、GPGPU 和标准线程的多线程 API
- 一些渲染辅助方法/函数(类似于 glfw)
- 一个渲染器(这是一个长期目标)
- 一个输入管理器
平台
- Windows(完全支持 - 测试不佳)
- Linux(X11 和 XCB)(部分支持 - 窗口关闭事件不工作 - 测试不佳)
- MacOS(计划中)
示例程序
fn main() {
let mut app: rovella::App = rovella::App::create(
"hello world",
15,
15,
1920,
1080
).unwrap(); // Only if your lazy :)
while app.is_running() {
let event_op = app.poll_events();
if event_op.is_none() {
continue;
}
let event = event_op.unwrap();
match event {
rovella::Event::WinClose => {
app.quit();
}
rovella::Event::KeyDown(key) => {
if key == rovella::Key::Escape {
app.quit();
}
}
_ => {}
}
}
app.shutdown();
}
依赖关系
~0.7–1.4MB
~23K SLoC