我的组件旨在在检查时创建一个新实体,它会添加属性的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);
});
}
});
答案 0 :(得分:0)
data.rotation
设置在哪里?因为您要传递相同的对象,所以它不会将其识别为更新。我们规定使用object3D.rotation
或el.object3D.rotation.set(x, y, z)
之类的el.object3D.rotation.copy(vec3)
更新文档中的轮换。