Aframe 按下按钮期间:将相机移到视图方向

Aframe 按下按钮期间:将相机移到视图方向,aframe,Aframe,我想为智能手机创建一个简单的aframe片段,只要触摸屏幕(或屏幕上的按钮),它就会沿着当前视野的方向移动相机。我已经找到了一段非常有用的代码,它可以在FoV方向上连续移动相机(见下文) 不幸的是,我所有仅在按下按钮时激活此运动的尝试都失败了(我发现的许多示例仅使用瞬时事件,例如“点击”或第一次面对某个对象,但没有连续按下按钮)。有没有可能像我想的那样去做?如果是,我需要什么样的触发器 <script src="https://cdnjs.cloudflare.com/ajax/libs/

我想为智能手机创建一个简单的aframe片段,只要触摸屏幕(或屏幕上的按钮),它就会沿着当前视野的方向移动相机。我已经找到了一段非常有用的代码,它可以在FoV方向上连续移动相机(见下文)

不幸的是,我所有仅在按下按钮时激活此运动的尝试都失败了(我发现的许多示例仅使用瞬时事件,例如“点击”或第一次面对某个对象,但没有连续按下按钮)。有没有可能像我想的那样去做?如果是,我需要什么样的触发器

<script src="https://cdnjs.cloudflare.com/ajax/libs/aframe/0.5.0/aframe.min.js"></script>
<script src="//cdn.rawgit.com/donmccurdy/aframe-extras/v3.7.0/dist/aframe-extras.min.js"></script>

<html>  

<body>
<script type="text/javascript">
    AFRAME.registerComponent("listener", {
        schema : 
        {
            stepFactor : {
                type : "number",
                default : 0.05
            }
        },

        tick : function()
        {   document.querySelector("a-camera").components.camera.camera.parent.position.add(document.querySelector("a-camera").components.camera.camera.getWorldDirection().multiplyScalar(this.data.stepFactor));
        }

    });
</script>

<a-scene>
  <a-camera position="0 0 30">
    <a-entity id="cursor" cursor="fuse: true;fuseTimeout:500"
        material="color:black"
        geometry="primitive:ring"
        position="0 0 -1"
        scale="0.01 0.01 0.01"
      listener="stepFactor:0.01" 
    ></a-entity>
  </a-camera>
  <a-grid></a-grid>
<a-box position="0 1 -2" color="blue" move eve></a-box>
</body>
</html>

注册表组件(“侦听器”{
模式:
{
阶跃因子:{
键入:“数字”,
默认值:0.05
}
},
勾选:函数()
{document.querySelector(“a-camera”).components.camera.camera.parent.position.add(document.querySelector(“a-camera”).components.camera.camera.getWorldDirection().multilyScalar(this.data.stepFactor));
}
});

尝试以下操作:通过
mouseup
mousedown
事件切换布尔值,并在简单的
if(myBool)
条件下执行
tick

AFRAME.registerComponent("foo", {
  init: function() {
    this.mousedown = false
    window.addEventListener("mouseup", (e)=> {
       this.mousedown = false
    })
    window.addEventListener("mousedown", (e)=> {
       this.mousedown = true
    })
  },
  tick: function() {
    if (this.mousedown) {
      //do stuff
    }
  }
})
小提琴,但它仅在x/y轴上移动相机