15个版本 (5个重大更新)
0.6.0 | 2023年6月21日 |
---|---|
0.5.1 | 2023年6月17日 |
0.4.3 | 2023年6月14日 |
0.3.1 | 2023年6月13日 |
0.1.4 | 2023年1月7日 |
#1593 in 游戏开发
每月126次下载
1MB
11K SLoC
shura
shura是一个安全、快速且跨平台的2D组件化游戏框架,用Rust编写。shura可以帮助您通过其场景管理、分组系统和组件系统来管理大型游戏,该组件系统旨在轻松地在项目之间共享组件(因此允许构建组件生态系统)。shura拥有您2D游戏所需的一切,例如物理、控制器输入、音频、易于扩展的渲染、序列化、反序列化、文本渲染、GUI、动画等等。请参阅功能部分以了解shura的所有功能。
shura目前处于早期版本,未来可能会有变化或无法按预期工作。如果您遇到错误、有反馈或有问题,请随时创建问题。
入门指南
要查看一些示例,请前往/examples目录,或运行以下命令:
cargo run --release --example bunnymark
或者
将以下内容添加到您的Cargo.toml
[dependencies]
shura = "0.3.0"
通过提供的示例或阅读文档,是学习shura的好方法。
功能
-
管理多个独立场景。
-
易于使用的组件系统,具有分组系统以确保在大型关卡中快速管理的2D游戏
-
分组系统类似于块系统,用于组织组件和管理大型世界
-
支持渲染的后处理
-
易于配置相机缩放,以确保您的游戏响应式并在所有类型的屏幕上工作
-
通过rapier(功能标志'physics')将物理模拟直接实现到组件系统中
-
使用winit进行窗口管理
-
使用wgpu进行跨平台的可扩展渲染
-
触摸、鼠标和键盘以及使用 gilrs(功能标志 'gamepad')的控制器输入处理
-
文本渲染灵感来源于 wgpu_text(功能标志 'text')
-
使用 rodio(功能标志 'audio')进行音频播放
-
使用 egui(功能标志 'gui')轻松创建GUI
-
受 bevy_tweening 启发的动画(功能标志 'animation')
-
使用 env_logger 和修改版的 wasm_logger(功能标志 'log')在所有平台上进行日志记录
跨平台
shura 目前仅在 Windows 10/11、Linux、Android 以及使用 WASM 的网页上进行测试。macOS 和 iOS 目前未进行测试,但很可能可以工作。
模板使用 template,通过 run-wasm 在网页上运行,并通过 cargo-apk 在 Android 上运行。
Android
当为 Android 编译时,确保在 Cargo.toml 中添加以下内容
[lib]
crate-type = ["cdylib"]
path = "src/main.rs"
依赖项
~20–62MB
~824K SLoC