You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

浏览器中Bevy应用JS侧操作实体及运行阻塞问题求助

在浏览器Bevy应用中通过JS/TS创建/销毁实体的可行性及问题

核心需求

能否在运行于浏览器的Bevy应用中,通过JS/TS代码实现创建或销毁Bevy世界实体的功能?

已尝试方案及问题

  1. 直接操作App实例的问题
    我曾通过let app=App::new();创建应用,绑定函数执行app.run();启动应用,同时绑定了一个通过app.insert_resource(...);覆盖资源的函数。但在应用运行后调用该函数时,出现错误:

    recursive use of an object detected which would lead to unsafe aliasing in rust
    
  2. 使用Arc更新资源前的阻塞问题
    感谢@kmdreko的建议尝试用Arc更新资源,但遇到了新问题:初始化Bevy应用后,后续代码完全无法执行。相关代码如下:

    <script type="module">
        import init, {BevyApp} from '../pkg/wasm_bevy_demo.js';
    
        init().then(() => {
            // new() 函数创建并运行Bevy应用,返回包含Arc<Mutex>的BevyApp实例
            const bevyCode = BevyApp.new();
            // 这段日志从未在控制台输出
            console.log("reach after run bevy app");
            bevyCode.update_scroll_rate(10, 10);
        })
    </script>
    

内容的提问来源于stack exchange,提问作者Elase Huang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 14:01:06