jPortal.pl, to serwis dla miłośników JavaScript. Znajdziesz tutaj ciekawe porady oraz tutoriale, czyli porady "za rączkę", aby zrobić fajne efekty. Dowiesz się też jak tworzyć dobrej jakości kod.
Skoro J ("dżej" - ten gość po lewej) umie, to Ty też podołasz temu wyzwaniu :).

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

Opublikowany: 18.11.2011 10:22:43 | Komentarzy 2

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.

Tagi: javascript gry javascript wibracje js api w3c wibracje wibrator javascript vibration

Komentarze

Gavatar procek
18.11.2011, procek napisał/-a: 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 napisał/-a: @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