10个版本 (4个重大更改)
0.5.0 | 2023年3月30日 |
---|---|
0.4.1 | 2023年2月17日 |
0.4.0 | 2023年1月15日 |
0.3.1 | 2023年1月13日 |
0.1.0 | 2018年8月3日 |
#600 in 游戏开发
在7个Crate中使用 (4个直接使用)
84KB
1.5K SLoC
unrust / uni-app
这个库是Unrust项目的一部分,Unrust是一个纯Rust本地/wasm游戏引擎。该库为以下组件提供本地/wasm兼容层:
- 窗口创建
- 输入(鼠标+键盘)
- 文件系统(本地+http[s],只读)
用法
[dependencies]
uni-app = "0.4.*"
extern crate uni_app;
fn main() {
// create the game window (native) or canvas (web)
let app = uni_app::App::new(uni_app::AppConfig {
size: (800, 600),
title: "my game".to_owned(),
vsync: true,
show_cursor: true,
headless: false,
resizable: true,
fullscreen: false,
intercept_close_request: false,
icon: None,
});
// start game loop
app.run(move |app: &mut uni_app::App| {
for evt in app.events.borrow().iter() {
// print on stdout (native) or js console (web)
uni_app::App::print(format!("{:?}", evt));
// exit when pressing escape
match &evt {
uni_app::AppEvent::KeyUp(ev) if ev.code == ScanCode::Escape => {
uni_app::App::exit();
}
_ => (),
}
}
});
}
构建
作为Web应用(wasm32-unknown-unknown)
安装wasm32目标
rustup target install wasm32-unknown-unknown
使用以下命令编译示例
wasm-pack build examples
这将在examples/pkg中创建一个wasm包
使用以下命令运行示例
cd www
npm install
npm run start
在https://127.0.0.1:8080/打开您的浏览器
作为桌面应用(native-opengl)
从www/目录运行它以能够加载test.txt文件
cd www && cargo run --example basic --release
许可证
根据以下任一许可证授权
- Apache License, Version 2.0, (LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT或http://opensource.org/licenses/MIT)
任选其一。
贡献
您可以通过提交拉取请求来为此库做出贡献。如果是这样,请更新CHANGELOG.md和CREDITS.md文件。如果您提供了新功能,请考虑添加一个示例作为教程/展示。
除非您明确说明,否则根据Apache-2.0许可证定义的您有意提交的任何贡献,都应如上所述双许可,没有任何额外的条款或条件。
依赖
~0–15MB
~199K SLoC