更改A资产上的“ src”不会更新材料

时间:2018-11-28 16:00:07

标签: aframe

我正在使用A-frame 0.8.2,但没有得到我期望的行为。当我更改资产来源时,它不会刷新使用该资源的事物。例如:

<a-scene>
<a-assets>
    <img id="myPicture" src="myPicture.jpg">
<a-assets>

<a-sky id="sky" src="#myPicture"></a-sky>

</a-scene>

   JS: $("#sky")[0].setAttribute("src", "myPicture2.jpg");

现在,即使检查员显示了myPicture2,我的天空仍显示“ myPicture”。任何想法如何解决这个问题?在我的应用程序中,我不希望更改资产的ID。

2 个答案:

答案 0 :(得分:0)

我建议使用两个不同的img,并更改实体上的src

<a-scene>
  <a-assets>
    <img id="myPicture" src="myPicture.jpg">
    <img id="myPicture2" src="myPicture2.jpg">
  <a-assets>
<a-sky src="#myPicture"></a-sky>
</a-scene>

 JS: $("a-sky")[0].setAttribute("src", "#myPicture2");

答案 1 :(得分:0)

我所做的是:

从Sky删除src

jQuery(scene).find('#'+ skyId).attr('src','');

更新材料

jQuery(scene).find('#'+ Img360assetId).attr('src',url);

再次设置ID

jQuery(scene).find('#'skyId).attr('src','#'+ Img360assetId);