Korzystam z JavaScript, elementu canvas HTML5 i WebGL, aby stworzyć prostą grę 3D w widoku pierwszoosobowym dla zabawy.Zarządzanie myszką w grach JavaScript
Idealnie, chciałbym kontrolować mój ruch za pomocą klawiatury, aby poruszać się i myszy, aby rozejrzeć się, jak zwykle w grach FPS. Jak zapewne zrozumieć, istnieją pewne granice w przeglądarce, ponieważ mysz cant być zrobione:
- Przy użyciu zdarzenie
onmousemove
zostanie wykryty żaden dalszy ruch, gdy wskaźnik myszy osiągnie granicę mojego ekranu (co oznacza, że wont być w stanie uruchomić w kręgu na przykład) - Widząc ruch myszy po ekranie nie jest koniec świata, ale jest to trochę denerwujące
z tego co wiem, , nie można ukryć myszy, a także ustawić jej pozycję w JavaScript. Stąd moje pytanie jest takie:
Jeśli cant do tych rzeczy, co możemy zrobić, aby zbliżyć się do doświadczenia gry na pulpicie, jeśli chodzi o myszy w przeglądarce?
Mam na myśli teraz, używając obecnych API. Nie "to, co można zmienić w niektórych standardach, aby ułatwić życie". Ponadto zdaję sobie sprawę, że mogę używać klawiatury, aby się rozejrzeć, ale wracamy w 1995 roku, kiedy Quake był tak odtwarzany. I oczywiście wiem, że łatwiej byłoby napisać aplikację na komputery stacjonarne lub przynajmniej używać Flasha, ale próbuję wprowadzić ograniczenia JavaScriptu tutaj.
Oprócz tych rzeczy, jakie są Twoje sugestie? Każdy rodzaj referencji, istniejącej gry, szalonego pomysłu, hack, a nawet rozwiązania specyficzne dla przeglądarki będą mile widziane.
Zastanawiam się, jak http://code.google.com/p/quake2-gwt-port/ nie rozglądając się, nie próbował go faktycznie ponieważ I CBA dostałem wersję rozwojową Chrome, ale domyślam się, że mają coś takiego. –
Możesz ukryć kursor za pomocą 'body {cursor: url (path/to/blank.gif);}' ... będzie działać we wszystkich przyzwoitych przeglądarkach i myślę, że możesz ustawić kursor nieco subtelniej w IE za pomocą 'kursora: celownika '. – James
Projekt trzęsienia ziemi wygląda naprawdę interesująco, spróbuję zobaczyć, co robią. I dzięki za ukrywanie pomysłów kursora! – Jakob