2个版本
0.1.0-beta.1 | 2021年2月28日 |
---|---|
0.1.0-beta.0 | 2021年1月1日 |
#1017 in 游戏开发
230KB
6K SLoC
Paddle - 简单的Rust 2D浏览器游戏
0.1.0 Beta版本现已发布,但API非常不稳定。仅向crates.io发布,供Paddlers使用,该游戏在实时演示中使用此库。
目标声明
- 仅针对Web
- 允许使用浏览器功能,如HTML + CSS用户界面、原生SVG渲染等,未来还将提供更多功能
- 与尽可能多的浏览器版本和设备兼容(仅需WebGL 1 + WASM,所有浏览器都支持触摸和鼠标,等等)
- 目前仅支持2D图形,短期内不太可能包含3D
- 当存在冲突时,编程接口应尽可能简单。
- 该库最终应该足够友好,可以推荐给学习Rust、游戏开发或一般编程的人。
技术概述
在飞桨中实现
- 跨浏览器输入
- 屏幕尺寸调整
- 自定义WebGL层
- 支持基本几何图形和图像绘制(最初来自quicksilver并进行了适配)
- 支持在屏幕上放置文本
- 活动(帧)管理
外部依赖
- wasm-bindgen / web-sys / wasm-pack 用于在Web上部署
- div-rs 用于HTML组件的集成
- nuts 用于活动管理和(看似无状态的)点对点和广播消息
核心原则
帧 所有一切都存在于所谓的 帧 中。这些是在屏幕上占用空间的活跃活动,可以在其中绘制和接收用户输入。可以使用多个帧来创建UI或轻松切换场景。
正在进行中,随着项目的成熟将添加文档...
依赖关系
~15MB
~301K SLoC