gpt4 book ai didi

cordova - 如何在 Cordova 中检测设备旋转?

转载 作者:行者123 更新时间:2023-12-02 13:12:31 27 4
gpt4 key购买 nike

我想用 Cordova 检测实时设备旋转(不是方向,以度为单位的旋转)。我使用了设备运动,但我得到了一堆加速度 x y 和 z 值,我如何从中计算旋转?

我想检测完整的 360 度旋转(想象一下将设备放在一根棍子[或钟摆]上,然后敲击它使其摆动)。

谢谢!

最佳答案

您可以使用The Screen Orientation API通过安装 plugin甘地在评论中提到过。

cordova 插件添加 cordova-plugin-screen-orientation

然后您可以在 deviceReady 之后使用事件来检测方向变化;

window.addEventListener('orientationchange', function(){
console.log(screen.orientation.type); // e.g. portrait
});

screen.orientation.onchange = function({
console.log(screen.orientation.type);
});

说实话,您应该能够在没有插件的情况下执行此操作,但添加 cordova 插件会更安全。

由于您想要检测 360 度旋转(不包括在内),因此您需要自己计算...类似的内容;

var startingPoint = 0;
window.addEventListener('orientationchange', monitorOrientation);

function monitorOrientation(e) {
console.log('Device orientation is: ', e. orientation);

if(e. orientation == 180 || e.orientation == -180) {
// You can extend this or remove it completely and increment the variable as you wish i.e. 4x90 = 360
startingPoint += 180;
}

if(startingPoint == 360) {
// Do whatever you want and reset starting point back to 0
startingPoint = 0;
}
}

关于cordova - 如何在 Cordova 中检测设备旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44968469/

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