如何更新A-Frame中的实体或对象?

时间:2016-08-03 22:25:30

标签: aframe

我正在使用可以用HTML编码的组件。例如,使用text geometry component,我创建了文本:

<a-entity text="text: 0"></a-entity>

如何更新text组件的text属性?

1 个答案:

答案 0 :(得分:3)

Entity.setAttribute

就像更新普通DOM元素一样,我们可以使用setAttribute

el.setAttribute('visible', false);

如果组件有多个属性,我们有三个参数。组件名称,属性名称,值:

el.setAttribute('material', 'color', 'black');
el.setAttribute('text', 'text', '1');

这段代码放在哪里?在一个组件内会很好:

AFRAME.registerComponent('update-text-every-second', {
  init: function () {
    var el = this.el;
    var i = 0;

    setInterval(function () {
      el.setAttribute('text', 'text', i.toString());
    }, 1000);
  }
});

并使用:

<a-entity text="text: 0" update-text-every-second></a-entity>