gpt4 book ai didi

javascript - emscripten Canvas 和主循环

转载 作者:行者123 更新时间:2023-12-02 14:11:29 27 4
gpt4 key购买 nike

当我的 HTML 文件中有多个 Canvas 时,emscripten_set_canvas_size 如何知道要调整哪个 Canvas 的大小?在这种情况下我该怎么办?
为什么只能有一个 emscripten_set_main_loop,如果想要 2 个循环,一个用于渲染,另一个用于物理,在 javascript 中我会使用 requestAnimationFramesetInterval

最佳答案

emscripten_set_canvas_size 设置 Emscripten Canvas 的大小,即由 Module 对象的 Module.canvas 方法返回的 Canvas Emscripten 使用。

我不知道一个 Emscripten 运行时可以支持多个 Canvas ,或者一旦 Emscripten 初始化就可以更改事件 Canvas 。但是,同一个文档中可以有多个 Emscripten 运行时间,每个运行时间都使用自己的 Canvas 。为此,请使用 emcc 编译选项

-s MODULARIZE=1 -s EXPORT_NAME="some_export_name"

完成此操作后,可以在 JavaScript 中实例化模块化的 Emscripten 运行时,如下所示:

some_export_name(OptionsModule);

其中 OptionsModule 是 Emscripten 运行时将使用的 Module 对象。这可以使用不同的 Module 对象多次完成,通常这些不同的对象会在其 Module.canvas 方法中返回不同的 Canvas HTML 元素。这种模块化的示例可以在 here 中找到。 .

只能运行一个 Emscripten 主循环只是一种设计约束。可以通过在主循环处理程序内调用一个用于渲染的函数和一个用于物理的函数来模拟两个循环。要以不同的时间间隔调用它们,您自己跟踪时间非常简单(使用 SDL_GetTicks)。

关于javascript - emscripten Canvas 和主循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39524305/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com