2 个版本
0.1.1 | 2020年10月2日 |
---|---|
0.1.0 | 2020年10月2日 |
#5 in #wasm32
61 每月下载量
11KB
96 行
Emscripten 循环助手库
目的
许多交互式应用程序,如游戏,将利用主循环技术。这个循环将代表模拟的一次“tick”,通常也会捕获输入并渲染输出。然而,这种技术的典型实现(简单循环/while 语句)在针对 Emscripten 时会崩溃,因为简单的循环会导致浏览器标签卡冻结。此库提供了一种简单的特质,用作循环语句的替代品,并确保循环以 Emscripten 所需的方式发生。
使用
将 emscripten_main_loop
添加为 Cargo.toml
的依赖项。
为包含所有应可由主循环访问的数据的应用程序对象实现 emscripten_main_loop::MainLoop
特质。该特质要求您实现 main_loop
函数,您应该在此处放置循环逻辑。main_loop
将在每个循环迭代中调用一次,必须根据适当返回 MainLoopEvent::Continue
或 MainLoopEvent::Terminate
。
实现特质后,您可以通过将数据对象传递给 emscripten_main_loop::run()
来调用循环。有关更多信息,请参阅 文档,或查看 此示例项目 作为参考,该项目使用了此库。
我不知道如何使用 Emscripten
有关如何使用 Emscripten 构建 Rust+SDL2+OpenGL 网页项目的全面指南,请参阅我的 博客文章。
我认为这个库可以改进
请随意提出问题或拉取请求,任何贡献都将受到赞赏。