Logo

Blog o JavaScript, jQuery, HTML5, CSS3 i 4. Porady jak pisać dobrej jakości kod, tutoriale, nowości.

Obsługa wibracji za pomocą JS? Może

Ta wiadomość na pewno ucieszy osoby tworzące gry w HTML(5), JS. Wczoraj, na stronie konsorcjum W3C pojawił się pierwszy szkic API odpowiedzialnego za wibracje!

Owy szkic opisuje na chwilę obecną propozycję obsługi wibracji na urządzeniach dotykowych. Dlaczego tylko urządzenia dotykowe? Bo jest to ukłon w stronę developerów tworzących głównie gry. Z drugiej strony, inne wykorzystanie wibracji ciężko znaleźć (choć pewnie zaraz znajdą się tacy, co znajdą i zrobią coś dla zabawy :P).

W praktyce będzie to wygląda następująco:

// wibracja przez sekundę
navigator.vibrate(1000);
// lub
navigator.vibrate([1000]);

Funkcja vibrate przyjmuje parametr jako liczbę całkowitą, która odpowiada za czas trwania wibracji (w milisekundach). Czas wibracji może być podany w tablicy. Jeśli wywołamy funkcję w następujący sposób

navigator.vibrate([1000, 500, 2000]);

to urządzenie będzie wibrować przez jedną sekundę, potem przez pół sekundy i na koniec jeszcze przez 2 sekundy.

Jeżeli nie podamy żadnego parametru (będzie pusty np.undefined, null, 0, []) wtedy urządzenie przestanie wibrować.

navigator.vibrate(0);

Wszystko wygląda i brzmi sensownie. Dodanie tej funkcjonalności na pewno uatrakcyjni gameplay każdej gry np. sygnalizowanie konfilktów obiektów, utratę życia czy jakiś inny błąd. Należy pamiętać, że to jest tylko i wyłącznie propozycja. Propozycja, która może się jeszcze nie raz zmienić. Teraz pozostaje czekać na pierwszą próbę implementacji wibracji.

Autor wpisu

Piotr cichosz (shpyo) — Front-end developer Twórca kilku serwisów internetowych oraz autor kilku blogów. Pasjonat nowych, otwartych technologii.

Komentarze

Gavatar procek

18.11.2011 procek

Taki sposób w tablicy nie ma sensu - a dlaczego? Nie możemy zdefiniować czasu pauzy. Jeśli interpretowane byłoby to jako [czas, pauza, czas, pauza] to ok, ale w tej formie nie bardzo widzę potrzebę wywoływania takiej funkcji.

Gavatar Kamil

18.11.2011 Kamil

@procek: niby racja, ale może każde urządzenie z oddzielna może zdefiniować swój własny czas pauzy i nie ma możliwości sterowania tym parametrem?

Jak na moje to przydałoby się również sterowanie "siłą" wibracji - w telefonach można to ustawiać, więc z poziomu JavaScriptu też by się mogło przydać.

Ps. gorzej jeśli zacznie się to wykorzystywać w niecnych celach:
navigator.vibrate(1000000);

Dodaj komentarz