Gra jest niczym bez wprowadzania danych, a dzięki obsłudze Pygame zarówno myszy, jak i wprowadzania dotykowego, możesz mieć pewność, że Twoja gra jest dostępna.
W dzisiejszych czasach urządzenia z ekranem dotykowym są wszędzie. Nie jest niespodzianką, że twórcy gier coraz częściej używają wprowadzania dotykowego w swoich grach, a frameworki sprawiają, że jest to coraz łatwiejsze.
PyGame ułatwia tworzenie gier i aplikacji, które mogą korzystać z wprowadzania dotykowego.
Wsparcie dotykowe PyGame
PyGame ma wbudowaną obsługę obsługi dotykowej. Obejmuje to obsługę wprowadzania za pomocą myszy i palców.
Aby wykryć mysz, możesz użyć pygame. PRZYCISK MYSZY W DÓŁ I pygame. PRZYCISK MYSZY W GÓRĘ wydarzenia. Na przykład:
Do wydarzenie W pygame.event.get():
Jeśli event.type == pygame. PRZYCISK MYSZY W DÓŁ:
wydrukować(„Wciśnięty przycisk myszy”)
Aby wykryć dotykowe wprowadzanie palców, możesz użyć pygame. PALCE W DÓŁ I pygame. PALCE W GÓRĘ wydarzenia. Na przykład:
Do wydarzenie W pygame.event.get():
Jeśli event.type == pygame. PALCEM W DÓŁ:
wydrukować(„Palec dotknął ekranu”)
Tworzenie prostej gry
Cały kod znajdziesz w to repozytorium GitHub.
Zacznij od stworzenia prostej gry. Ta gra będzie składać się z postaci gracza, którą można poruszać po ekranie za pomocą poleceń dotykowych. Aby to zrobić, musisz stworzyć pętlę gry i postać gracza.
Zanim zaczniesz, upewnij się, że masz pip zainstalowany na twoim urządzeniu, a następnie użyj następującego polecenia, aby zainstalować PyGame moduł:
pip zainstaluj pygame
Teraz zaimportuj moduł PyGame do kodu gry:
import pygame
pygame.init()
Następnie utwórz okno gry i obiekt gry:
# Skonfiguruj wyświetlacz
rozmiar = (400, 400)
ekran = pygame.display.set_mode (rozmiar)# Utwórz obiekt gracza
gracz = pygame. Powierzchnia((50, 50))
gracz.wypełnij((255, 0, 0))
# Ustaw początkową pozycję gracza
pozycja_gracza = [175, 175]
Na koniec utwórz pętlę gry:
# Pętla gry
bieganie = PRAWDAchwila działanie:
# Sprawdź wydarzenia
Do wydarzenie W pygame.event.get():
Jeśli event.type == pygame. ZREZYGNOWAĆ:
bieganie = FAŁSZ# Zaktualizuj pozycję gracza
pozycja_gracza[0] += 5
pozycja_gracza[1] += 5# Narysuj gracza
screen.blit (gracz, pozycja_gracza)
# Zaktualizuj wyświetlacz
pygame.display.update()
Zauważ, że powyższy kod tworzy tylko prostą grę, w której postać gracza porusza się po ekranie. Aby uczynić grę bardziej interesującą, możesz dodaj fizykę i kolizje aby stworzyć przeszkody do pokonania przez gracza.
Wejścia dotykowe myszy do poruszania się gracza
Teraz, gdy masz już grę z postacią gracza, możesz zacząć dodawać wprowadzanie dotykowe. Aby to zrobić, musisz dodać obsługę zdarzeń dla danych wejściowych myszy. Dodaj pygame. PRZYCISK MYSZY W DÓŁ I pygame. PRZYCISK MYSZY W GÓRĘ zdarzenia do pętli gry.
Utwórz procedurę obsługi zdarzeń dla danych wejściowych myszy. Gdy gracz naciśnie przycisk myszy, zaktualizuj pozycję postaci do bieżącej pozycji myszy. Program zignoruje zwolnienie przycisku myszy, ponieważ w takim przypadku nie musi podejmować żadnych działań.
# Pętla gry
bieganie = PRAWDAchwila działanie:
# Sprawdź wydarzenia
Do wydarzenie W pygame.event.get():
Jeśli event.type == pygame. ZREZYGNOWAĆ:
bieganie = FAŁSZ
# Sprawdź wejścia myszy
Elif event.type == pygame. PRZYCISK MYSZY W DÓŁ:
mysz_x, mysz_y = zdarzenie.poz
pozycja_gracza[0] = mysz_x
pozycja_gracza[1] = mysz_y
Elif event.type == pygame. PRZYCISK MYSZY W GÓRĘ:
przechodzić
ekran.wypełnienie((0, 0, 0))# Narysuj gracza
screen.blit (gracz, pozycja_gracza)
# Zaktualizuj wyświetlacz
pygame.display.update()
Możesz także dodać dodatkową logikę do procedury obsługi zdarzeń, aby gracz poruszał się w odpowiedzi na działanie myszy.
Wejścia dotykowe dla ruchu gracza
Oprócz wprowadzania danych za pomocą myszy można również wprowadzać polecenia dotykowe za pomocą palca. Aby to zrobić, musisz dodać procedurę obsługi zdarzeń dla wejść dotykowych.
Dodaj pygame. PALCE W DÓŁ I pygame. PALCE W GÓRĘ zdarzenia do pętli gry:
# Pętla gry
bieganie = PRAWDAchwila działanie:
# Sprawdź wydarzenia
Do wydarzenie W pygame.event.get():
Jeśli event.type == pygame. ZREZYGNOWAĆ:
bieganie = FAŁSZ
# Sprawdź wejścia myszy
Elif event.type == pygame. PRZYCISK MYSZY W DÓŁ:
mysz_x, mysz_y = zdarzenie.poz
pozycja_gracza[0] = mysz_x
pozycja_gracza[1] = mysz_y
Elif event.type == pygame. PRZYCISK MYSZY W GÓRĘ:
przechodzić
# Sprawdź wejścia palca
Elif event.type == pygame. PALCEM W DÓŁ:
palec_x, palec_y = zdarzenie.poz
pozycja_gracza[0] = palec_x
pozycja_gracza[1] = palec_y
Elif event.type == pygame. PALEC W GÓRĘ:
przechodzićekran.wypełnienie((0, 0, 0))
# Narysuj gracza
screen.blit (gracz, pozycja_gracza)
# Zaktualizuj wyświetlacz
pygame.display.update()
Zwróć uwagę, jak bardzo jest to podobne do procedury obsługi zdarzeń wprowadzania myszy. Ten moduł obsługi zdarzeń aktualizuje pozycję postaci, gdy gracz naciska palcem na ekranie. Kiedy puszczają palec, nic się nie dzieje. Pozwala to na stworzenie gry, którą można sterować za pomocą myszy i palców. Pamiętaj, że możesz również użyć innych wydarzeń, takich jak pygame. PALCE reagować na ruch palca.
Dodatkowe funkcje dotykowe Pygame
Po wprowadzeniu podstawowych funkcji dotykowych możesz zacząć dodawać bardziej zaawansowane funkcje. PyGame ma kilka wbudowanych funkcji, które mogą pomóc Ci dodać więcej funkcji dotykowych do Twojej gry.
Pierwszą cechą jest pygame.mouse.set_visible() funkcjonować. Ta funkcja pozwala ukryć kursor myszy. Może to być przydatne, jeśli chcesz stworzyć grę, która używa tylko wprowadzania dotykowego, a nie myszy.
Oto przykład użycia set_visible() funkcjonować:
pygame.mouse.set_visible(FAŁSZ)
The pygame.mouse.set_pos() Funkcja ustawia kursor myszy w określonej pozycji na ekranie. Jest to przydatne, jeśli chcesz przesunąć mysz w określone miejsce bez użycia myszy.
Poniżej znajduje się przykład użycia set_pos() funkcjonować:
pygame.mouse.set_pos(200, 200)
Możesz użyć pygame.mouse.get_rel() funkcja, aby uzyskać względny ruch myszy. Możesz użyć tego do wykrycia, jak daleko przesunęła się mysz od ostatniego zdarzenia myszy.
W ten sposób możesz użyć get_rel() funkcjonować:
dx, dy = pygame.mouse.get_rel()
Wreszcie możesz użyć tzw pygame.mouse.get_pressed() sprawdza, czy gracz naciska jakikolwiek przycisk myszy. Może to być przydatne podczas tworzenia gier ze sterowaniem myszą/dotykiem.
Poniżej znajduje się przykład użycia get_pressed() funkcjonować:
mouse_buttons = pygame.mouse.get_pressed()
PyGame zapewnia również KÓŁKO W MYSZCE typ zdarzenia, którego można użyć do wykrywania przewijania kółkiem myszy. Obsługuje przewijanie zarówno w pionie, jak iw poziomie.
Oto przykład:
Do wydarzenie W pygame.event.get():
Jeśli event.type == pygame. KÓŁKO W MYSZCE:
Jeśli zdarzenie.y > 0:
wydrukować(„Kółko myszy przewinęło się w górę”)
Elif zdarzenie.y < 0:
wydrukować(„Kółko myszy przewinęło się w dół”)
Twórz interaktywne gry za pomocą wprowadzania dotykowego
Dzięki wprowadzonym elementom dotykowym możesz teraz tworzyć interaktywne gry. Możesz na przykład stworzyć grę, w której gracz może poruszać się po ekranie za pomocą poleceń dotykowych. Możesz także tworzyć gry oparte na gestach, w których gracz może wykonywać różne gesty, aby uruchamiać akcje w grze.
Możliwości są nieograniczone, jeśli chodzi o tworzenie gier za pomocą wprowadzania dotykowego. Z pomocą PyGame możesz tworzyć gry, które są zarówno zabawne, jak i interaktywne. Więc idź tam i zacznij tworzyć!