Я пытаюсь переместить изображение вокруг на основе ориентации устройства. Но значения очень напряженные в состоянии покоя, от -1 до +2 без движения, и мне нужен способ немного сгладить его.Плавные значения параметров устройства
Есть ли простой способ сделать это менее нервным, усредняя его или что-то в этом роде?
init();
var count = 0;
function init() {
if (window.DeviceOrientationEvent) {
window.addEventListener('deviceorientation', function(eventData) {
// gamma is the left-to-right tilt in degrees, where right is positive
var tiltLR = eventData.gamma;
// beta is the front-to-back tilt in degrees, where front is positive
var tiltFB = eventData.beta;
// alpha is the compass direction the device is facing in degrees
var dir = eventData.alpha
// call our orientation event handler
deviceOrientationHandler(tiltLR, tiltFB, dir);
}, false);
}
}
function deviceOrientationHandler(tiltLR, tiltFB, dir) {
var logo = document.getElementById("imgLogo");
logo.style.webkitTransform = "rotate("+ tiltLR +"deg) rotate3d(1,0,0, "+ (tiltFB*-1)+"deg)";
logo.style.MozTransform = "rotate("+ tiltLR +"deg)";
logo.style.transform = "rotate("+ tiltLR +"deg) rotate3d(1,0,0, "+ (tiltFB*-1)+"deg)";
}
http://codepen.io/picard102/pen/zvOVLx
Ya, я попытался использовать переход, чтобы сгладить его, но шум, создаваемый такими значениями устройства, быстро растет, это настоящий боров. Поклонники почти сразу же вращаются. – Picard102
На каком устройстве вы работаете? Я предположил, что ты на мобильном телефоне. Fwiw, вы можете сохранить значения из полученных вами событий и обновлять только 30 или 60 кадров в секунду, сглаживая значения (то, что вам нужно реализовать самостоятельно). – thomasfuchs
Chrome Desktop MacBook. Также получите аналогичные результаты и на iPhone. – Picard102