收藏
回答

关于 xr-frame中,代码加载问题?

我通过js脚本进行动态加载gltf文件时,使用 scene.assets.loadAsset进行加载,如:

const gtltfPromise = scene.assets.loadAsset({

type: 'gltf',

assetId: `gltf-${gltfItem.id}`,

src: gltfItem.url

})

通过这样能加载成功,但无法获取gltf文件加载过程中进度值,此时<xr-assets bind:progress="handleAssetsProgress" bind:loaded="handleAssetsLoaded"> 中的progress事件不会触发,这应该与通过js加载有关。

请问,当用js脚本进行加载时,如何设置触发progress事件,来获取 gltf文件的加载百分比进度?

回答关注问题邀请回答
收藏

1 个回答

  • 棒棒冰
    棒棒冰
    04-29
    //wxml
    <xr-assets id="xrAssets">
    //js
    const xrAssets = scene.getElementById("xrAssets");
    xrAssets.event.add("progress",(evt)=>{
      wx.showLoading({
        title: '资源加载中'+ Math.floor(evt.progress*100) +"%",
      })
      if(evt.progress > 0.95){
        xrAssets.event.clear("progress")
        wx.hideLoading()
      }
    })
    
    04-29
    有用
    回复 2
    • 👾
      👾
      07-02
      请问下大佬,这个progress事件貌似只会在下载完gltf文件后才会触发,请问下怎么获取到下载gltf文件的进度呢
      07-02
      回复
    • 棒棒冰
      棒棒冰
      07-03回复👾
      可以在wxml中绑定事件或者js方式在scene ready事件响应侦听获取
      07-03
      回复
登录 后发表内容