我想每次进入网站时都有随机的场景。
所以我试图在这行<a-entity environment="preset: pickscenario"></a-entity>中将js脚本的pickscenario变量返回给框架

这是代码:

<a-entity environment="preset: pickscenario"></a-entity>
        <script>
             var scenarios = ['ocean', 'universe', 'forest'];
             var pickscenario = scenarios[Math.floor(Math.random()*scenarios.length)];
             return pickscenario;
        </script>


我敢打赌,这很简单,但我还没有弄清楚。

最佳答案

为了使脚本生效,建议编写组件,如下所示:

<script type="text/javascript">
AFRAME.registerComponent('randomscenario', {
   init: function(){
       var scenarios = ['ocean', 'universe', 'forest'];
       var pickscenario = scenarios[Math.floor(Math.random()*scenarios.length)];
       this.el.setAttribute('environment', { preset: pickscenario});
   }
});
</script>


然后在html中:

<a-entity randomscenario></a-entity>


加载场景时将调用init函数。

关于javascript - 随机Aframe环境,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45361564/

10-10 00:08