Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 制作按钮以移动对象_Javascript_Three.js_Aframe - Fatal编程技术网

Javascript 制作按钮以移动对象

Javascript 制作按钮以移动对象,javascript,three.js,aframe,Javascript,Three.js,Aframe,我正在制作一个A帧站点,我需要创建一个按钮,将id为“test”的球移动到它的起始位置:0 8 0。我尝试过setAttribute脚本,但它不起作用。这是我目前正在使用的javascript代码: AFRAME.registerComponent('ballreset'{ 活动:{ 单击:功能(evt) { document.getElementById('test').setAttribute('position',{x:0,y:8,z:0}); } } }); 编辑:我在代码中发现了一个

我正在制作一个A帧站点,我需要创建一个按钮,将id为“test”的球移动到它的起始位置:0 8 0。我尝试过setAttribute脚本,但它不起作用。这是我目前正在使用的javascript代码:

AFRAME.registerComponent('ballreset'{
活动:{
单击:功能(evt)
{
document.getElementById('test').setAttribute('position',{x:0,y:8,z:0});
}
}
});

编辑:我在代码中发现了一个输入错误。但是没有解决问题

没有一个完整的例子,很难说到底是什么问题,但是

  • 确保你有一个基于raycaster的。鼠标单击不会像处理HTML元素那样处理webGL渲染
  • 确保单击侦听器工作正常,即记录每次单击
  • 确保单击时具有给定
    id
    的元素存在
以下是与您想要实现的目标类似的工作版本(单击任意对象):


AFRAME.registerComponent('foo'{
活动:{
单击:功能(evt){
//抓住当前位置
设pos=this.el.getAttribute(“位置”);
//上移
setAttribute('position',{x:pos.x,y:pos.y+0.25,z:pos.z});
}
}
});

setAttribute接受字符串值,尝试使用document.getElementById('test').setAttribute('position','0 8 0');不。那不起作用。我会考虑到这一点,让球返回给用户,让他们单击并返回。这可能会使它不那么复杂。