3个版本
0.2.2 | 2022年7月3日 |
---|---|
0.2.1 | 2022年7月3日 |
0.2.0 | 2022年7月3日 |
#1489 in 游戏开发
74KB
2.5K SLoC
Bowtie 游戏引擎
使用Rust编写的2D游戏引擎
当前功能
渲染
通过OpenGl进行渲染。自然地,这使得它与较新的M1 Macs不完全兼容,因为它们正在弃用OpenGl支持。
- 形状
- 矩形
- 精灵
- 可以采用任何实现的形状
- 可以接受任何PNG文件并将其作为纹理加载(具有不同的过滤选项)
- 使用方向无缝移动它们的实用程序
实体系统
实体是一种动态添加自己的实体和组件系统并将它们加载到游戏引擎中的方式。您可以实现自己的组件,并通过消息系统让它们执行几乎任何您想要的操作。
- 实体特 uptext
- 组件特 uptext
- 消息系统,以便组件和实体可以异步通信
预实现的组件
- 碰撞:报告实体之间的碰撞(多方向)
- 重力:以加速度将物体拉下
- 事件:允许发送任何类型的消息
通用实用程序
方向
方向枚举具有添加“方向”的能力,例如
let direction = Direction::Up;
let new_direction = direction.add_direction(Direction::Right);
new_direction == Direction::UpRight
颜色
颜色结构体使用-1.0到1.0归一化颜色值,并使用辅助枚举,例如
let color = Color(1.0, 0.0, 0.0, 1.0);
let red: Color = COLORS::Red.into();
color == red
计划功能
- 一个2D游戏引擎应该做的一切事情
接下来
- 更方便的实体加载
- 更平滑的运动
- 更符合牛顿力学的重力
作者
就是本人,Celine Sarafa
贡献
目前不接受贡献,非常抱歉 :>
依赖关系
~1.5MB
~31K SLoC