2个版本
0.1.1 | 2022年7月14日 |
---|---|
0.1.0 | 2022年5月22日 |
1249 在 游戏开发
1.5MB
564 行
警告:
bevy_dioxus
还处于非常早期的开发阶段。
use bevy::prelude::*;
use bevy_dioxus::desktop::prelude::*;
use dioxus::prelude::*;
fn main() {
App::new()
.insert_resource(WindowDescriptor {
title: "Bevy Dioxus Plugin Example".to_string(),
..Default::default()
})
.add_plugin(DioxusPlugin::<EmptyGlobalState, (), ()>::new(Root))
.run();
}
fn Root(cx: Scope) -> Element {
cx.render(rsx! {
h1 { "Hello, World !" }
})
}
关于Dioxus和Bevy
Dioxus
Dioxus是一个跨平台的声明性UI框架。它提供了React开发者期望的熟悉功能,例如组件、状态、属性、钩子、全局状态和路由器。如果你熟悉任何现代状态驱动UI框架,你应该能够在不知道Rust的情况下阅读或编写Dioxus组件。
Bevy
Bevy是基于实体组件系统(ECS)设计模式的Rust游戏引擎。将其视为类似于Redux的全局状态管理工具,但性能更好,因为所有系统将尽可能并发运行。多亏了其插件系统,已经有相当多的第三方Bevy插件。想象一下将核心逻辑作为 CorePlugin
与UI层分离。您可以从 bevy_dioxus
开始构建桌面应用程序。然后假设您在未来某个时间点想要发布一个元宇宙版本,这就像将UI插件切换到Bevy的3D渲染插件一样简单,同时仍然使用相同的CorePlugin。
尝试示例
请确保安装Tauri的所有先决条件。 先决条件
gh repo clone JunichiSugiura/bevy_dioxus
cd bevy_dioxus
cargo run --example counter
更多示例可以在 examples/ 目录中找到。
开发
先决条件
一般
- Tauri先决条件
- convco:常规提交,更改日志,版本控制,验证
cargo install convco # or brew install convco/formulae/convco
- cargo-workspaces:一个用于管理Cargo工作区和它们的crates的工具,受lerna的启发
cargo install cargo-workspaces
网站
API参考
- cargo-watch:监视您的Cargo项目的源。
cargo install cargo-watch
运行
示例
# Build
cargo build --examples
# or Run
cargo run --example counter
网站
# Install dependencies
npm i
# Serve locally
zola -r packages/website serve --drafts
# Watch Tailwind CSS
npm run watch
# or build
npm run build
API参考
# Serve doc locally
cargo doc --open --no-deps
# Watch file changes and serve doc locally
cargo watch -s 'cargo doc && http target/doc'
约定
分支名称示例
git checkout -b docs/#20-guide-website
常规提交
在变更日志中需要注明时,请务必使用 convco commit
而不是 git commit
。 git-cliff 将会自动在 convco 生成的 conventional-commit 消息上生成变更日志。
convco commit
依赖项
~23–69MB
~1M SLoC