我的A型架不是';当我的Javascript函数运行时,不进行渲染。如何让它同时渲染?

我的A型架不是';当我的Javascript函数运行时,不进行渲染。如何让它同时渲染?,javascript,html,asynchronous,aframe,webvr,Javascript,Html,Asynchronous,Aframe,Webvr,使用Mozilla的用于WebVR的A-Frame,我尝试用javascript编辑一个对象的y位置。但是,在我的javascript运行完毕之前,网页上不会显示任何内容。为什么不能同时进行 这是我的HTML页面: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello, World! - A-Frame</title>

使用Mozilla的用于WebVR的
A-Frame
,我尝试用javascript编辑一个对象的y位置。但是,在我的javascript运行完毕之前,网页上不会显示任何内容。为什么不能同时进行

这是我的HTML页面:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Hello, World! - A-Frame</title>
    <meta name="description" content="Hello, World! - A-Frame">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <script src="https://aframe.io/releases/0.3.0/aframe.min.js"></script>
  </head>
  <body>
    <a-scene>
      <a-assets>
        <a-asset-item id="crate-obj" src="./aztec-temple.obj"></a-asset-item>
        <a-asset-item id="crate-mtl" src="./aztec-temple.mtl"></a-asset-item>
      </a-assets>
      <a-obj-model src="#crate-obj" mtl="#crate-mtl"></a-obj-model>
      <a-sphere id="comet" position="1, 5.25, -5" radius="1.25" color="#EF2D5E"></a-sphere>
    </a-scene>
  </body>
  <script src="./main.js"></script>
</html>

您不应该创建自己的渲染循环,而应该创建一个组件,并使用
tick
方法将逻辑插入帧的渲染循环

不应创建自己的渲染循环,而应创建一个组件,并使用
勾选
方法将逻辑插入帧的渲染循环中

function initialCometSetup() {
  var x = 0, y = 5.25, z = -5;
  var myComet = document.getElementById('comet');
  myComet.setAttribute('position', {x: x, y: y, z: z});
  console.log(myComet);
  setTimeout(100, changeZofComet());
}

function changeZofComet() {
    console.log("got here")
    var myComet = document.getElementById('comet');
    var myPos = myComet.getAttribute('position');
    console.log(myPos.y)
    myPos.y = myPos.y - 0.01;
    myComet.setAttribute('position', myPos);
    if (myPos.y > 0) {
        setTimeout(1000, changeZofComet());
    } else {
        console.log("schmuguwuga")
    }
}

setTimeout(1000, initialCometSetup());