嗨,我是 aframe 新手,尝试在屏幕上创建按钮(如全屏 VR 模式)来模仿 wasd 控件。
我尝试了有关此的信息链接它给了我一些关于此的提示,但没有解决我的查询。
如果你们有任何想法请告诉我。
我也尝试广播键盘事件,但它们也没有帮助。
这是我尝试过的相机代码,但什么也没发生
<a-camera id="myCamera" universal-controls="movementControls: custom, touch;">
<a-cursor id="myCursor" color="blue"></a-cursor>
</a-camera>
-谢谢
如果您想在单击按钮时移动相机,只需在组件中创建监听器即可:
AFRAME.registerComponent('click-handler',{
init:function(){
let cam = document.querySelector('[camera]');
this.el.addEventListener('click',function(e){
let pos = cam.getAttribute('position');
pos.z++;
cam.setAttribute('position',pos);
});
});
单击时相机向前移动。 如果你想让它像在 wasd 控件中一样平滑,带有“摩擦”和某种速度,你需要在
tick()
中实现它,你将你的速度定义为 if(speed>0)speed=acc+speed-friction
,然后进行 acc 窥视一旦您单击按钮。您可以在按住按钮的同时增加 acc,这样移动会更加顺畅。
我发现了这个:https://zenn.dev/yumabo/articles/9e7cdfa684a2bf并且它在 Glitch 上运行良好。代码是英文的,日文很容易通过谷歌翻译。
我一直在寻找涉及移动设备和 Chromebook 上的开发的框架运动解决方案。