在aframe 0.8.0中,位置和旋转属性未使用SetAttribute更新

时间:2019-01-20 15:06:25

标签: aframe webvr

我的组件旨在在检查时创建一个新实体,它会添加属性的MOST,但不会添加旋转和位置。我看到这似乎是一个问题,是0.5.0之前的版本,但我使用的是0.8.0,但仍未更新。有什么想法吗?

AFRAME.registerComponent('new-room', {
  schema: {
    on: {type: 'string'},
    rotation: {type: 'string'},
    target: {type: 'selector'},
    iconposition: {type: 'string'},
    iconrotation: {type: 'string'}
  },

  init: function () {

    // Do something when component first attached.
    var data = this.data;
    var el = this.el;

    el.addEventListener(data.on, function () {
        // Set image.
        data.target.setAttribute('rotation', data.rotation);

        // Remove all room icons
        var entityEl = document.querySelector('.icons');
        entityEl.parentNode.removeChild(entityEl);


        // Adjust room icons
    var entityEl = document.createElement('a-entity');
        document.querySelector('a-scene').appendChild(entityEl);
        entityEl.setAttribute('geometry', {primitive: 'plane', height: '1', width: '1'});
        entityEl.setAttribute('material', {shader: 'flat', src: '#thumb', transparent: 'true', opacity: '.3'});
        entityEl.setAttribute('class','icons');
        entityEl.setAttribute('position',data.iconposition);
    document.querySelector('a-scene').flushToDOM(true);

    });
  }
});

1 个答案:

答案 0 :(得分:0)

data.rotation设置在哪里?因为您要传递相同的对象,所以它不会将其识别为更新。我们规定使用object3D.rotationel.object3D.rotation.set(x, y, z)之类的el.object3D.rotation.copy(vec3)更新文档中的轮换。