#emscripten #wasm32 #main-loop

emscripten_main_loop

适用于本地和 Emscripten 构建的循环抽象。解决了使用简单循环时浏览器标签卡冻结的问题。

2 个版本

0.1.1 2020年10月2日
0.1.0 2020年10月2日

#5 in #wasm32

Download history 24/week @ 2024-03-16 22/week @ 2024-03-23 67/week @ 2024-03-30 29/week @ 2024-04-06 20/week @ 2024-04-13 26/week @ 2024-04-20 27/week @ 2024-04-27 21/week @ 2024-05-04 18/week @ 2024-05-11 21/week @ 2024-05-18 18/week @ 2024-05-25 21/week @ 2024-06-01 10/week @ 2024-06-08 22/week @ 2024-06-15 22/week @ 2024-06-22 4/week @ 2024-06-29

61 每月下载量

自定义许可

11KB
96

Emscripten 循环助手库

文档

目的

许多交互式应用程序,如游戏,将利用主循环技术。这个循环将代表模拟的一次“tick”,通常也会捕获输入并渲染输出。然而,这种技术的典型实现(简单循环/while 语句)在针对 Emscripten 时会崩溃,因为简单的循环会导致浏览器标签卡冻结。此库提供了一种简单的特质,用作循环语句的替代品,并确保循环以 Emscripten 所需的方式发生。

使用

emscripten_main_loop 添加为 Cargo.toml 的依赖项。

为包含所有应可由主循环访问的数据的应用程序对象实现 emscripten_main_loop::MainLoop 特质。该特质要求您实现 main_loop 函数,您应该在此处放置循环逻辑。main_loop 将在每个循环迭代中调用一次,必须根据适当返回 MainLoopEvent::ContinueMainLoopEvent::Terminate

实现特质后,您可以通过将数据对象传递给 emscripten_main_loop::run() 来调用循环。有关更多信息,请参阅 文档,或查看 此示例项目 作为参考,该项目使用了此库。

我不知道如何使用 Emscripten

有关如何使用 Emscripten 构建 Rust+SDL2+OpenGL 网页项目的全面指南,请参阅我的 博客文章

我认为这个库可以改进

请随意提出问题或拉取请求,任何贡献都将受到赞赏。

无运行时依赖