gpt4 book ai didi

javascript - 在 Javascript 中检测 Google Cardboard 磁性按钮点击

转载 作者:行者123 更新时间:2023-11-29 10:33:48 25 4
gpt4 key购买 nike

引用Detecting Magnetic Button on Cardboard in C#有没有办法在手机浏览器中访问 Javascript 中的磁纸板按钮?

干杯斯特凡

最佳答案

我终于能够自己解决问题了。幸运的是,时间和一点运气帮助解决了问题(当我真正要求它时,这是不可能的)。

该解决方案基于 W3C 提出的“通用传感器 API”,特别是磁力计 API 的实现。

查看以下规范- https://developers.google.com/web/updates/2017/09/sensors-for-the-web- https://www.w3.org/TR/generic-sensor/- https://w3c.github.io/magnetometer/

但是,有一些注意事项:

  • 您至少需要 Chrome 版本 63(我不知道目前是否有任何其他浏览器支持它),在我撰写本文时,该版本仅作为开发人员版本提供。

    <
  • 您需要启用

    • chrome://flags/#enable-generic-sensor

    • chrome://flags/#enable-generic-sensor-extra-classes

  • 代码必须通过 HTTPs 或从本地主机传送!如果不是,您将获得安全异常...

我从复杂得多的代码中提取了以下代码。我希望我没有忽略任何事情。

this.lastSensorX = 0;

try {
this.sensor = new Magnetometer();
if (this.sensor!==undefined) {
this.sensor.start();
}
} catch(err) {
console.log("Magnetometer not supported. Make sure you configure chrome://flags/#enable-generic-sensor-extra-classes and deliver via HTTPS.");
}

....

// Check major differences on Magnetometer and identify this as a button-click

if (this.sensor !== undefined) {
this.sensor.onreading = () => {
var delta= this.sensor.x-this.lastSensorX;

if (delta > 100 ) {
// do whatever you want to do, in case the cardboard magnet has been "clicked"
}
this.lastSensorX = this.sensor.x;
}

this.sensor.onerror = event => console.log(event.error.name + " (Magnetometer): ", event.error.message);

}

我在我自己的应用程序中使用了上面的片段,它工作得很好。

关于javascript - 在 Javascript 中检测 Google Cardboard 磁性按钮点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40270350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com