SORU
7 Aralık 2010, Salı


Nasıl Javascript ivme/jiroskop veri erişimi için?

Son zamanlarda ivme erişimi gibi birkaç web siteleri rastlamak var ya benim laptop, yönelim ya da hareket değişiklikleri tespit jiroskop.

Bu nasıl yapılıyor? window nesne, olay bir çeşit abone olmak zorunda mıyım?

Cihazlar (dizüstü bilgisayarlar, cep telefonları, tabletler) bu iş için bilinir?


NB: Aslında ben zaten (bir parçası) bu sorunun cevabını biliyor ve hemen sonrası için gidiyorum. Burada soru gönderiyorum, herkes izin sebebi bu veri ivmeJavascript (belirli cihazlarda) ve toplumun konuyla ilgili yeni bulgular sonrası için meydan okumak için kullanılabilir. Şu anda, bu özellikler hemen hemen belgeleri var.

CEVAP
7 Aralık 2010, Salı


Şu anda olabilir veya istemci cihazlar taşındığında geçirilemeyebilir olarak üç farklı olay var. İkisi etrafında yoğunlaşıyororyantasyonve sonhareket:

  • ondeviceorientation Krom masaüstü sürümü üzerinde çalıştığı bilinen ve en Apple dizüstü donanım bu iş için gerekli gibi görünüyor. Ayrıca iOS 4.2 ile iPhone 4 Mobile Safari üzerinde çalışıyor. Olay işleyicisi işlevi, veri çalışması için tek argüman olarak verilen olayalpha, , * beta*5 değerler erişebilirsiniz.

  • onmozorientation Firefox 3.6 desteklenen ve daha yeni. Yine, bu en Apple dizüstü bilgisayarlar üzerinde çalışmak için bilinir, ama ivme ile Windows ya da Linux makineler üzerinde de işe yarayabilir. Olay işleyicisi işlevi, verileri ilk argüman olarak verilen olay, *, z *y7 alanlar için bak.

  • ondevicemotion 3G 4 ve iPad (iOS 4.2 ile iPhone üzerinde çalışmak için bilinir, ve veri istemci cihazın şu anki ivme ile ilgili sağlar. Veri işleyici işlevine geçirilen her bir eksen için acceleration ve her ikisi de üç alana sahip accelerationIncludingGravity, olay: , *, *x*14 15*

"Deprem algılama" örnek web sitesi kullanan bir dizi if tablolar için-acaba hangi olay eklemek için (bir bakıma öncelik sırası) ve iletilen veri alınan bir ortak tilt fonksiyon:

if (window.DeviceOrientationEvent) {
    window.addEventListener("deviceorientation", function () {
        tilt([event.beta, event.gamma]);
    }, true);
} else if (window.DeviceMotionEvent) {
    window.addEventListener('devicemotion', function () {
        tilt([event.acceleration.x * 2, event.acceleration.y * 2]);
    }, true);
} else {
    window.addEventListener("MozOrientation", function () {
        tilt([orientation.x * 50, orientation.y * 50]);
    }, true);
}

Sabit faktörler 2 ve 50 "" bu ilk, ama bu . iki son olaylardan okumalar hizalamak için kullanılır ^em>hiçbir şekildehassas gösterimi. Bu basit bir "oyuncak" projesi bu işleri iyi gidiyor, ama kullanman gerekiyorsa veriler için daha ciddi, sen-ecek var aşina birimlerinin değerleri verilen farklı olaylar ve onları tedavi ile saygı :)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dave Wallace

    Dave Wallace

    27 Kasım 2007
  • kidrauhl

    kidrauhl

    15 Ocak 2007
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010