Tworzenie (lub emulowanie) „D-Pad” na ekranie dotykowym; wirtualny d-pad


12

Przy mnożeniu urządzeń dotykowych, z których wielu nie ma prawdziwego D-Pada, zastanawiam się, czy ktoś ma jakieś zasoby, jak emulować D-Pad na ekranie dotykowym? Szczególnie interesują mnie przykłady kodu XNA i / lub Androida.

Odpowiedzi:



16

Czy mogę zniechęcić cię do próby emulacji pada kierunkowego na urządzeniu z ekranem dotykowym?

Problemy z emulowaniem pada kierunkowego na ekranie dotykowym to:

  • D-pad zajmuje miejsce na ekranie, które możesz wykorzystać w grze;
  • w przeciwieństwie do prawdziwego pada kierunkowego, emulowany pada kierunkowa prawie nie daje informacji zwrotnej: jako gracz nie możesz powiedzieć, w którym kierunku naciskasz, ani na podstawie dotyku, ani wzroku (ponieważ palec zakrywa D- pad na ekranie). Więc palec zbyt łatwo zsuwa się z pada kierunkowego lub na niewłaściwą jego część, co prowadzi do pomieszania i frustracji.

Urządzenie z ekranem dotykowym to znacznie więcej niż urządzenie „pozbawione prawdziwego D-pada”. Urządzenie z ekranem dotykowym pozwala graczowi na dotykanie dowolnego miejsca na ekranie i interakcję z dowolnym widocznym elementem gry . Daje to szeroki zakres możliwości projektowania gier, a projekty te są prawdopodobnie znacznie przyjemniejsze w użyciu niż emulowany D-pad.


1
Wdrożenie Pathing dla takiego małego ekranu jest banalne. Powiększ i przewiń mapę gry, a następnie dotknij i ścieżka!
Stephen Furlani,

9

Wiem, że nie jest to najbardziej użyteczna odpowiedź, ale jeśli nie przenosisz projektu z innej platformy, sugeruję ponowne przemyślenie wirtualnego D-Pad. Większość implementacji wirtualnych padów kierunkowych była co najwyżej kiepska, brak dotykowych informacji zwrotnych czyni z nich zły wybór dla platformy.

O wiele lepiej jest budować interfejs do gry, który podkreśla mocne strony platform zamiast budować słabość platform.


Najwyraźniej Gareth odpowiedział tak samo jak ja. Nic tu do oglądania, ruszać się.
wkerslake

Cieszę się, że nie jestem w tym sam!
Gareth Rees,

3

Jak powiedzieli inni, najlepiej jest wymyślić projekt, który pasuje do środowiska, nie zmuszając środowiska do dopasowania do twojego projektu, ale jeśli trzymasz się D-Pad, oto jak możesz to zrobić:

Jeśli myślisz o „punkcie dotykowym” jak o kursorze myszy, zasadniczo tworzysz „punkt aktywny”, który reaguje na ruch kursora.

Najlepszym / najprostszym sposobem na zrobienie tego jest zrobienie półprzezroczystego (pamiętaj, że zasłaniasz ekran gry) pola lub okręgu w jednym z dolnych rogów, gdzie gracz najprawdopodobniej ma już palec. Następnie po prostu śledzisz pozycję palca gracza względem środka gorącego punktu, i to jest twoja wartość delta wejściowej.


W ten sposób większość gier rozwiązuje problem kontrolera d-pad. To jest do bani dla precyzyjnego platformowania.
Nailer,

2

Widzę, że większość ludzi uważa, że ​​D-Pad jest złym pomysłem i mają rację - przez większość czasu. Dungeon Hunter od Gameloft na Androida to świetny przykład świetnego D-Pad na ekrany dotykowe. Jest responsywny, ma kierunek 360 stopni i nie jest „głupi”. Chodzi mi o to, że nie jest to „głupie”, że kiedy naciskasz D-Pad i wysuwasz palec z obszaru D-Pad, nie przeszkadza to, co dzieje się na ekranie - po prostu się rozszerza. Więc jeśli przypadkowo wymkniesz się z obszaru D-Pad, nie stracisz ruchu.

Uważam, że ważna jest orientacja 360 stopni i szybkość reakcji poza boiskiem, a jeśli to zrobisz, będziesz mieć szansę na prawidłowe wykonanie pada kierunkowego.


1

Jeśli chcesz wdrożyć D-Pad, najprostszym sposobem, jaki przychodzi mi do głowy, jest utworzenie czterech prostokątów (po jednym dla każdego kierunku D-Pad), a następnie sprawdzenie, czy miejsce dotyku znajduje się w granicach któregokolwiek z prostokątów .

Jak powiedzieli inni; zastanów się dwa razy, zanim zastosujesz D-Pad na ekranie dotykowym. Z drugiej strony widziałem ludzi grających w te emulatory GBA przez cały dzień na swoich iPhone'ach.

Od Ciebie zależy ... czy możesz nam powiedzieć, co planujesz zrobić, jeśli chodzi o symulowany D-Pad?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.