4个版本
0.3.0 | 2024年2月22日 |
---|---|
0.2.2 | 2024年2月22日 |
0.2.1 | 2024年2月20日 |
0.2.0 | 2024年2月20日 |
#1018 in 游戏开发
91 每月下载次数
7MB
864 行
包含 (WOFF字体, 54KB) GeistVariableVF.woff2, (WOFF字体, 42KB) Geist-Black.woff2, (WOFF字体, 42KB) Geist-Bold.woff2, (WOFF字体, 41KB) Geist-Light.woff2, (WOFF字体, 42KB) Geist-Medium.woff2, (WOFF字体, 41KB) Geist-Regular.woff2 以及更多.
Y-Craft
描述
这是x-craft引擎的Rust版本。这里是引擎的持续开发所在。X-Craft是一个已废弃的项目。
使用Y-Craft引擎制作您梦想中的2D游戏体验。
部分受GameMaker引擎的系统启发,但完全基于源代码(Rust),Y-Craft引擎希望成为来自编程背景的独立游戏开发者的理想引擎。
您不再需要弄清楚如何将抽象集成到您选择的引擎中;在常规代码中构建它们,并通过默认方式与引擎集成!
工作原理
Y-Craft游戏有几个不同的组成部分。
首先,您加载资源:图片、字体和音频文件。您只需将源和几个参数提供给运行函数。
然后是游戏对象。游戏对象是您定义并提供行为的自定义结构体。它们可以通过碰撞和更新函数相互交互,但通常是独立的。它们可以使用包含动画帧的精灵创建。请参阅示例以查看对象设计。
然后是房间。房间仅仅是对象的集合。房间可以被设置为具有恒定状态(持久)或在过渡时重置。
资源、房间和游戏对象都由您自己的枚举索引。将房间和资源的容器传递给app::run
函数以启动循环。
构建
要求
- Rust
- SDL2开发库
- Linux*
- *它应该可以在*nix、MacOS和Windows上运行(也在这个上进行了测试),但只有Linux是官方支持的。其他平台可能不会在问题中获得帮助
注意
- Nix用户可以通过nix-shell创建有效的shell。简单易行。
- 对于Windows用户来说,事情从未如此简单。要获取所需的SDL2开发库,他们需要
- 从相应的发布页面下载SDL2、SDL2_mixer、SDL2_image和SDL2_ttf库的"*-devel-*-VC.zip"文件。SDL2、SDL2_mixer、SDL2_image和SDL2_ttf。
- 解压".lib"和".dll"文件,通常位于"lib/x64/"下。
- 将它们放置在你的Rust库文件夹中。如果使用上面提到的rustup,请将它们放在
C:\Users\<你的用户>\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc
- 有关更多信息,请参阅sdl2 crate GitHub的README。
如果要仅构建库,请执行cargo build --release
。
要运行示例,请执行cargo run --release --example <example-name>
。如果要以这种方式运行,示例的二进制文件将位于./target/release/<你的目标>/examples/<example-name>
。
要将库包含到你的Rust项目中,我建议直接使用y-craft = "0.<version>"
并忽略发布号,因为没有发布会有破坏性变更,只有真正的版本提升。
如果你想要分发你的应用程序,你需要确保目标系统接收SDL2、SDL2_mixer、SDL2_image和SDL2_ttf。在Linux上,这很简单,你可以创建一个包并将依赖项放入发行版的SDL库中。在Windows上,你需要将各种.dll文件放在与二进制文件相同的文件夹中。
示例
- snake - 一个蛇的克隆。填满整个屏幕即可获胜。不要碰到墙壁或你的身体。
- platformer - 平台物理实现的示例以及几个不同引擎特性的测试
依赖项
29MB
~407K SLoC