rustunit

主要观点:通过 WASM 与 Bevy 集成 Web 原生 API,利用bevy_channel_trigger等 crate 实现用户在浏览器中向 Bevy 应用拖放 PNG 图像并加载显示。
关键信息:

  • 准备 DOM 接收拖放事件,使用wasm-bindgengloo在 Rust 代码中注册dragoverdrop事件监听器,并设置drop_effecteffect_allowed
  • 处理拖放事件,从事件中提取文件数据并转发给 Bevy,使用FileReader读取文件二进制数据和元数据。
  • 向前端发送事件到 Bevy,通过bevy_channel_triggerChannelSender发送事件。
  • 在 Bevy 中接收和加载图像数据,将二进制数据转换为Image资产并用于渲染。
    重要细节:
  • register_drop函数用于注册事件监听器,处理dragoverdrop事件。
  • drop事件处理中,通过FileReader读取文件数据并发送给 Bevy。
  • send_event函数使用ChannelSender发送事件到 Bevy。
  • process_web_events函数在 Bevy 中接收事件并处理图像加载。
    结论:展示了通过 WASM 与 Bevy 集成 Web 原生 API 的方法,Bevy 是将交互应用带到 Web 的强大工具,可在 GitHub 上深入研究和修改项目,团队可提供 Bevy 或 Rust 项目支持。
阅读 7
0 条评论