在 JS 中创建特定的实体(线)

Creating specific a-entities (lines) in JS

我正在尝试在 javascript 中创建多行以包含到场景中。

它以这种方式创建图元,但没有 "a-line"-图元。

      AFRAME.registerComponent('lines', {
        schema: {},
        multiple: true,
        init: function () {
          var n = 2;
          var i;
          for (i = 0; i < n; i++) {
            var sceneEl = document.querySelector('a-scene');
            var entityEl = document.createElement('a-entity');
            var posit = {x: i, y: 0.1, z: -3};
            entityEl.setAttribute('position', posit);
            // I also tried: entityLi.setAttribute('line', '');
            entityLi.setAttribute('geometry', 'primitive:line');
            entityEl.setAttribute('color', "#03ef3e");
            sceneEl.appendChild(entityEl);  
            }
        }
      });

是否可以在不首先定义新基元的情况下创建线?

您可以使用 line 组件:

<a-entity line='start: 0 0 0; end: 1 1 1; color: red'></a-entity>

您可以在javascript中设置startend来更新行:

element.setAttribute('line', {
   'start': '0 0 0',
   'end': newPosVector
}

就像我做的那样 here.