【问题标题】:a-asset-item loaded event (A-Frame 0.5.0)a-asset-item 加载事件 (A-Frame 0.5.0)
【发布时间】:2017-06-18 16:03:58
【问题描述】:

我有以下资产:

<a-assets>
<a-asset-item id="model-obj" src="the-source..."></a-asset-item>
<a-asset-item id="model-mtl" src="another-source..."></a-asset-item>
</a-assets>

在加载场景后,我附加了以下从未调用过的事件监听器,我不知道为什么(尽管模型加载并显示在场景中):

document.querySelector('#model-obj').addEventListener('loaded', function() {
   console.log('loaded');
});

根据文档,它应该可以工作 (https://aframe.io/docs/0.5.0/core/asset-management-system.html#lt-a-asset-item-gt)。

【问题讨论】:

  • 要监听的事件称为“模型加载”而不是“加载”。一般来说,你必须听代表模型的实体,而不是资产!

标签: aframe


【解决方案1】:

这很奇怪。这段代码对我有用(但我使用的是 glTF 模型):

<a-assets>
  <a-asset-item id="duck" src="duck/duck.gltf"></a-asset-item>
</a-assets>

和 document.getElementById('duck').addEventListener('loaded', function() { 警报('好的') })

几点建议:

  • 您的脚本是否在定义元素后运行?
  • 网络检查器是否显示加载不成功(HTTP 404、500 等)?
  • 控制台中的页面是否有任何 JS 错误?

【讨论】:

  • 感谢您的回复。我自己已经找到了答案,并将其添加为我的问题的评论。我不得不听“模型加载”事件。
猜你喜欢
  • 2021-08-19
  • 2017-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-23
  • 1970-01-01
相关资源
最近更新 更多