我想创建一个新的对象,当它由registerComponent制成时,它具有“移动”功能。
我尝试使用setAttribute('function Name')和setAttribute('attribute','function Name'),但两者都不起作用。
例如:
AFRAME.registerComponent('objectMake',
{
init:function()
{
},
tick: function()
{
var sceneEl = document.querySelector('a-scene');
if (condition == true)
{
var boxEl = document.createElement('a-box');
boxEl.setAttribute('material',{color:'#CC0000'});
boxEl.setAttribute('position',{x:Math.random()*20-10,y:Math.random()*20-10,z:Math.random()*20-10});
boxEl.setAttribute('scale',{x:Math.random()/2,y:Math.random()/2,z:Math.random()/2});
boxEl.setAttribute('attribute','move');
sceneEl.appendChild(boxEl);
}
}
});
AFRAME.registerComponent('move',
{
tick: function()
{
var targetItem = document.querySelector('a-box');
var targetPosition = targetItem.getAttribute('position');
this.el.setAttribute('position',
{
x: targetPosition.x,
y: targetPosition.y,
z: targetPosition.z-0.1
});
}
});
我该怎么做或该如何改善?