Jakiej metody wprowadzania należy używać w platformówce 2D na urządzeniu dotykowym?


16

Tworzę platformówkę 2D, taką jak Super Meat Boy, w której liczy się precyzja ruchu mojej głównej postaci. Używam libgdx. Klawiatura na komputerze działa dokładnie, ale jeśli chodzi o obsługę akcelerometru, naprawdę trudno jest precyzyjnie obsługiwać postać. Pogarsza się to etapami z zatłoczonymi bezpiecznymi ścieżkami ucieczki. Myślałem o wdrożeniu na ekranie analogowej kuli do obsługi danych wejściowych, ale przeczytałem wiele złych konsekwencji tego w Internecie.

Jaka jest intuicyjna, ale precyzyjna metoda wprowadzania w grach platformowych na urządzeniach dotykowych?

Odpowiedzi:


7

Jednym słowem: Swiping.

Grałem w mistrzowską edycję Pac-Mana na moim telefonie z Androidem i naprawdę wydawało mi się, że działa, ponieważ chociaż był joystick na ekranie, tak naprawdę nie musiałeś go dotykać, aby przesunąć Pac-Mana we właściwym kierunku. Jeśli palec spadł z joysticka, nie miało to znaczenia. Liczyło się tylko to, w jakim kierunku przesunąłeś palec.

Aby przejść w górę, przeciągnij w górę. Aby przejść w dół, przeciągnij w dół. Aby przejść w lewo, przesuń w lewo. Aby przejść w prawo, przeciągnij w prawo.

Równie łatwo można uczynić kontekst przesuwania wrażliwym na regiony ekranu i działania aktualnie wykonywane w grze. Wyobraź sobie, że Twój telefon jest w trybie poziomym i trzymasz go jak kontroler gier wideo. Lewą połowę ekranu można zarezerwować na ruch za pomocą przeciągnięcia, które opisałem powyżej. Prawej połowy ekranu można użyć do takich działań, jak skakanie, strzelanie, osłanianie, dowolne umiejętności gry, które chcesz dać swojemu graczowi za pomocą przesuwania w bardzo podobny sposób. Lub jeśli masz tylko jedną umiejętność (jak skakanie w Super Meat Boy) - po prostu potraktuj prawą połowę ekranu jako przycisk.

Aktualizacja

Rozmawialiśmy o tym na czacie i okazało się, że moje rozwiązanie, tak jak opisano powyżej, przypomina wirtualny drążek, który porusza się, gdy unosisz i kładziesz palec. Chcę wyjaśnić, że tak nie jest i jest w rzeczywistości o wiele bardziej elastyczny.

Pacman Swiping

Zdjęcie powyżej pokazuje wzór przeciągania, który można zastosować, aby przenieść Pacmana po planszy. Pamiętaj, że podejmowane działanie wcale nie zależy od tego, gdzie po raz pierwszy kładziesz palec. Jeśli przypadkowo przesuniesz palec za daleko podczas przesuwania w prawo lub za mało podczas przesuwania w dół, wszystko jest w porządku. Dzięki tej implementacji, dopóki przesuniesz wystarczająco daleko, aby poprawnie zarejestrować się w oprogramowaniu, zabierze go i użyje tam, gdzie skończył się twój palec jako następny punkt początkowy, lub jeśli oderniesz palec, użyje następnego miejsca, w którym opuść palec.

Jak powiedziałem wcześniej, możesz zastosować to do platformówki, po prostu dzieląc elementy sterujące na osobne regiony, dzięki czemu przeciągnięcia i stuknięcia wykonują różne czynności w zależności od miejsca na ekranie, w którym wykonałeś akcję. Oczywistą trasą jest ruch lewą rączką za pomocą przesuwania. Wtedy prawa strona byłaby używana do obsługi akcji i umiejętności gracza za pomocą dowolnej kombinacji przeciągnięć i uderzeń.


4

Co jeśli traktujesz połowę ekranu jak wirtualną piłkę, w której pozycja / prędkość twojej postaci jest bezpośrednio powiązana z prędkością piłki? Przesuwanie i puszczanie spowoduje, że twoja postać będzie w ciągłym ruchu (i spowoduje zakręcenie kulki). Trzymanie palca na ekranie byłoby jak trzymanie kulki, abyś mógł dokonać drobnych korekt w pozycji swojej postaci lub zatrzymać jej ruch. Myślę, że to może działać całkiem nieźle w tych szalonych chwilach w Super Meat Boy, gdzie próbujesz biegać, skakać, a potem zatrzymać się na dziesięciocentówce. Byłoby to podejście eksperymentalne, ponieważ nie widziałem tego wcześniej, ale wszystko jest lepsze niż wirtualny kij.

Edycja: Kontroler Steam obsługuje ich gładzik jak symulowany trackball, ale nie eksperymentowałem wystarczająco, by znaleźć grę, która traktuje go jak jeden.


Naprawdę podoba mi się ta odpowiedź, ponieważ jest to rodzaj myślenia nieszablonowego. Gdyby ktoś go wdrożył, byłbym bardzo ciekawy, jak dobrze to działa.
SpartanDonut

2

Odkryłem, że przyciski dotykowe i trzymające z boku ekranu są najbardziej responsywne.

Jeśli osoba dotknie lewej strony, biegnij w lewo (aż puści). Jeśli osoba dotknie prawej strony, biegnij w prawo.

RunRunRiot! jest tego przykładem.

Jeśli chodzi o skakanie, możesz wybrać stuknięcie w środku ekranu (za pomocą dowolnej ręki).

Przykłady (iPad krajobrazowy) Działa poprawnie

______________
|            |
|            |
|            |
|___________R|

Skakać w prawo

______________
|            |
|L*          |
|            |
|___________R|

(L * = lewy kran)

Skaczę w lewo

______________
|            |
|          R*|
|            |
|L___________|

1

Najlepsze dane wejściowe do gry z ekranem dotykowym, jakie znalazłem, to te naprawdę proste gry platformowe, gdy wszystko, co musisz zrobić, to dotknąć ekranu, aby skoczyć! Każda gra, która używa akcelerometru do wprowadzania ruchu do mnie, jest bardzo dezorientująca!

Jest to powszechny dylemat podczas opracowywania na ekranie dotykowym, jeśli tylko popularny był d-pad. Myślę, że będziesz musiał wypróbować swój pomysł na piłkę na ekranie.

Być może możesz mieć lewy i prawy wejście po lewej i prawej stronie ekranu i mieć górę i dół, używając wyższej lub dolnej części lewego lub prawego wejścia. Myślę, że to ma sens?


1

Możesz rozważyć bardziej precyzyjne sterowanie tylko wtedy, gdy postać gracza jest w powietrzu.

Na przykład, jeśli prawa strona ekranu kontroluje kierunek poprzeczny, możesz mieć całą lewą stronę do skoku. Po uniesieniu w powietrze dolna lewa połowa ekranu może być „opadająca”, a górna połowa może być podwójnym skokiem.

Inną opcją byłoby przyjęcie schematu skoków, takiego jak Jetpack Joyride lub te gry typu „Cave”, w których im dłużej trzymasz „górę”, tym wyżej. Może być dość precyzyjny i myślę, że dobrze by działał z platformówką typu Super Meat Boy, zakładając, że poziomy są odpowiednio zaprojektowane.

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.