Ένα παιχνίδι δεν είναι τίποτα χωρίς είσοδο και με την υποστήριξη της Pygame τόσο για είσοδο ποντικιού όσο και για είσοδο αφής, μπορείτε να διασφαλίσετε ότι το παιχνίδι σας είναι προσβάσιμο.

Στην εποχή μας, οι συσκευές με οθόνη αφής είναι παντού. Δεν αποτελεί έκπληξη το γεγονός ότι οι προγραμματιστές παιχνιδιών χρησιμοποιούν όλο και περισσότερο την είσοδο αφής στα παιχνίδια τους και τα πλαίσια το καθιστούν ευκολότερο και ευκολότερο.

Το PyGame διευκολύνει τη δημιουργία παιχνιδιών και εφαρμογών που μπορούν να επωφεληθούν από τις εισόδους αφής.

Υποστήριξη αφής του PyGame

Το PyGame έχει ενσωματωμένη υποστήριξη για εργασία με εισόδους αφής. Αυτό περιλαμβάνει υποστήριξη για εισόδους αφής ποντικιού και δακτύλου.

Για να εντοπίσετε ένα ποντίκι, μπορείτε να χρησιμοποιήσετε το pygame. ΠΟΝΤΙΚΟΚΟΥΜΠΙ και pygame. ΚΟΥΜΠΙ ΠΟΝΤΙΚΙΟΥ εκδηλώσεις. Για παράδειγμα:

Για Εκδήλωση σε pygame.event.get():
αν event.type == pygame. ΚΟΥΜΠΙ ΠΟΝΤΙΚΙΟΥ:
Τυπώνω("Πατήθηκε το κουμπί του ποντικιού")

Για να εντοπίσετε εισόδους αφής με το δάχτυλο, μπορείτε να χρησιμοποιήσετε το

instagram viewer
pygame. ΚΑΤΩ ΔΑΧΤΥΛΟΥ και pygame. ΔΑΧΤΥΛΟ εκδηλώσεις. Για παράδειγμα:

Για Εκδήλωση σε pygame.event.get():
αν event.type == pygame. ΚΑΤΩ ΔΑΧΤΥΛΟΥ:
Τυπώνω("Το δάχτυλο άγγιξε την οθόνη")

Δημιουργία ενός απλού παιχνιδιού

Μπορείτε να βρείτε όλο τον κωδικό στο αυτό το GitHub Repo.

Ξεκινήστε δημιουργώντας ένα απλό παιχνίδι. Αυτό το παιχνίδι θα αποτελείται από έναν χαρακτήρα παίκτη που μπορείτε να μετακινήσετε στην οθόνη χρησιμοποιώντας εισόδους αφής. Για να το κάνετε αυτό, θα χρειαστεί να δημιουργήσετε έναν βρόχο παιχνιδιού και έναν χαρακτήρα παίκτη.

Πριν ξεκινήσετε, βεβαιωθείτε ότι έχετε pip εγκατεστημένο στη συσκευή σας, στη συνέχεια χρησιμοποιήστε την ακόλουθη εντολή για να εγκαταστήσετε το PyGame μονάδα μέτρησης:

pip εγκατάσταση pygame

Τώρα, εισαγάγετε τη μονάδα PyGame στον κώδικα του παιχνιδιού σας:

εισαγωγή pygame
pygame.init()

Μετά από αυτό, δημιουργήστε το παράθυρο του παιχνιδιού και ένα αντικείμενο παιχνιδιού:

# Ρυθμίστε την οθόνη
μέγεθος = (400, 400)
οθόνη = pygame.display.set_mode (μέγεθος)

# Δημιουργήστε ένα αντικείμενο αναπαραγωγής
παίκτης = pygame. Επιφάνεια((50, 50))
player.fill((255, 0, 0))

# Ρυθμίστε την αρχική θέση της συσκευής αναπαραγωγής
player_pos = [175, 175]

Τέλος, δημιουργήστε τον βρόχο παιχνιδιού:

# Ο βρόχος του παιχνιδιού
τρέξιμο = Αληθής

ενώ τρέξιμο:
# Ελέγξτε για συμβάντα
Για Εκδήλωση σε pygame.event.get():
αν event.type == pygame. ΕΓΚΑΤΑΛΕΙΠΩ:
τρέξιμο = Ψευδής

# Ενημερώστε τη θέση του παίκτη
player_pos[0] += 5
player_pos[1] += 5

# Σχεδιάστε τον παίκτη
screen.blit (player, player_pos)

# Ενημερώστε την οθόνη
pygame.display.update()

Σημειώστε ότι ο παραπάνω κώδικας δημιουργεί μόνο ένα απλό παιχνίδι όπου ο χαρακτήρας του παίκτη κινείται στην οθόνη. Για να κάνετε το παιχνίδι πιο ενδιαφέρον, μπορείτε προσθέστε φυσική και συγκρούσεις να δημιουργήσει εμπόδια για να τα ξεπεράσει ο παίκτης.

Είσοδοι αφής ποντικιού για κίνηση παίκτη

Τώρα που έχετε ένα παιχνίδι με χαρακτήρα παίκτη, μπορείτε να αρχίσετε να προσθέτετε εισόδους αφής. Για να το κάνετε αυτό, θα χρειαστεί να προσθέσετε έναν χειριστή συμβάντων για τις εισόδους του ποντικιού. Πρόσθεσε το pygame. ΠΟΝΤΙΚΟΚΟΥΜΠΙ και pygame. ΚΟΥΜΠΙ ΠΟΝΤΙΚΙΟΥ συμβάντα στον βρόχο παιχνιδιού.

Δημιουργήστε ένα πρόγραμμα χειρισμού συμβάντων για τις εισόδους του ποντικιού. Όταν ένας παίκτης πατήσει το κουμπί του ποντικιού, ενημερώστε τη θέση του χαρακτήρα στην τρέχουσα θέση του ποντικιού. Το πρόγραμμα θα αγνοήσει την απελευθέρωση του κουμπιού του ποντικιού, καθώς δεν χρειάζεται να προβεί σε καμία ενέργεια σε αυτήν την περίπτωση.

# Ο βρόχος του παιχνιδιού
τρέξιμο = Αληθής

ενώ τρέξιμο:
# Ελέγξτε για συμβάντα
Για Εκδήλωση σε pygame.event.get():
αν event.type == pygame. ΕΓΚΑΤΑΛΕΙΠΩ:
τρέξιμο = Ψευδής
# Ελέγξτε για εισόδους ποντικιού
ελιφ event.type == pygame. ΚΟΥΜΠΙ ΠΟΝΤΙΚΙΟΥ:
mouse_x, mouse_y = event.pos
player_pos[0] = ποντίκι_x
player_pos[1] = ποντίκι_y
ελιφ event.type == pygame. ΚΟΥΜΠΙ ΠΟΝΤΙΚΙΟΥ:
πέρασμα

screen.fill((0, 0, 0))

# Σχεδιάστε τον παίκτη
screen.blit (player, player_pos)

# Ενημερώστε την οθόνη
pygame.display.update()

Μπορείτε επίσης να προσθέσετε επιπλέον λογική στο πρόγραμμα χειρισμού συμβάντων για να κάνετε τη συσκευή αναπαραγωγής να κινείται ως απόκριση στην είσοδο του ποντικιού.

Είσοδοι αφής με το δάχτυλο για την κίνηση του παίκτη

Εκτός από τις εισόδους του ποντικιού, μπορείτε επίσης να προσθέσετε εισόδους αφής με το δάχτυλο. Για να το κάνετε αυτό, θα χρειαστεί να προσθέσετε ένα πρόγραμμα χειρισμού συμβάντων για τις εισόδους με το άγγιγμα των δακτύλων.

Πρόσθεσε το pygame. ΚΑΤΩ ΔΑΧΤΥΛΟΥ και pygame. ΔΑΧΤΥΛΟ συμβάντα στον βρόχο παιχνιδιού:

# Ο βρόχος του παιχνιδιού
τρέξιμο = Αληθής

ενώ τρέξιμο:
# Ελέγξτε για συμβάντα
Για Εκδήλωση σε pygame.event.get():
αν event.type == pygame. ΕΓΚΑΤΑΛΕΙΠΩ:
τρέξιμο = Ψευδής
# Ελέγξτε για εισόδους ποντικιού
ελιφ event.type == pygame. ΚΟΥΜΠΙ ΠΟΝΤΙΚΙΟΥ:
mouse_x, mouse_y = event.pos
player_pos[0] = ποντίκι_x
player_pos[1] = ποντίκι_y
ελιφ event.type == pygame. ΚΟΥΜΠΙ ΠΟΝΤΙΚΙΟΥ:
πέρασμα
# Ελέγξτε για εισόδους δακτύλων
ελιφ event.type == pygame. ΚΑΤΩ ΔΑΧΤΥΛΟΥ:
finger_x, finger_y = συμβάν.pos
player_pos[0] = δάχτυλο_χ
player_pos[1] = δάχτυλο_y
ελιφ event.type == pygame. ΔΑΧΤΥΛΟ:
πέρασμα

screen.fill((0, 0, 0))

# Σχεδιάστε τον παίκτη
screen.blit (player, player_pos)

# Ενημερώστε την οθόνη
pygame.display.update()

Παρατηρήστε πόσο παρόμοιο είναι αυτό με το πρόγραμμα χειρισμού συμβάντων εισαγωγής ποντικιού. Αυτός ο χειριστής συμβάντων ενημερώνει τη θέση του χαρακτήρα όταν ο παίκτης πιέζει το δάχτυλό του στην οθόνη. Όταν αφήνουν το δάχτυλό τους, δεν συμβαίνει τίποτα. Αυτό σας επιτρέπει να δημιουργήσετε ένα παιχνίδι που μπορείτε να ελέγξετε χρησιμοποιώντας εισόδους αφής και του ποντικιού και του δακτύλου. Λάβετε υπόψη ότι μπορείτε επίσης να χρησιμοποιήσετε άλλα συμβάντα όπως π.χ pygame. ΔΑΚΤΥΛΟΚΙΝΗΣΗ να ανταποκρίνεται στην κίνηση των δακτύλων.

Πρόσθετες λειτουργίες αφής της Pygame

Με τις βασικές λειτουργίες αφής στη θέση τους, μπορείτε να αρχίσετε να προσθέτετε πιο προηγμένες λειτουργίες. Το PyGame έχει μερικές ενσωματωμένες λειτουργίες που μπορούν να σας βοηθήσουν να προσθέσετε περισσότερες λειτουργίες αφής στο παιχνίδι σας.

Το πρώτο χαρακτηριστικό είναι το pygame.mouse.set_visible() λειτουργία. Αυτή η λειτουργία σάς επιτρέπει να αποκρύψετε τον κέρσορα του ποντικιού. Αυτό μπορεί να είναι χρήσιμο εάν θέλετε να δημιουργήσετε ένα παιχνίδι που χρησιμοποιεί μόνο εισόδους αφής και όχι το ποντίκι.

Ακολουθεί ένα παράδειγμα για το πώς να χρησιμοποιήσετε το set_visible() λειτουργία:

pygame.mouse.set_visible(Ψευδής)

ο pygame.mouse.set_pos() Η λειτουργία ρυθμίζει τον κέρσορα του ποντικιού σε μια συγκεκριμένη θέση στην οθόνη. Αυτό είναι χρήσιμο εάν θέλετε να μετακινήσετε το ποντίκι σε μια συγκεκριμένη τοποθεσία χωρίς να χρησιμοποιήσετε τις εισόδους του ποντικιού.

Παρακάτω είναι ένα παράδειγμα του τρόπου χρήσης του set_pos() λειτουργία:

pygame.mouse.set_pos(200, 200)

Μπορείτε να χρησιμοποιήσετε το pygame.mouse.get_rel() λειτουργία για να πάρει τη σχετική κίνηση του ποντικιού. Μπορείτε να το χρησιμοποιήσετε για να εντοπίσετε πόσο μακριά έχει μετακινηθεί το ποντίκι από το τελευταίο συμβάν του ποντικιού.

Έτσι μπορείτε να χρησιμοποιήσετε το get_rel() λειτουργία:

dx, dy = pygame.mouse.get_rel()

Τέλος, μπορείτε να χρησιμοποιήσετε το pygame.mouse.get_pressed() λειτουργία για να ελέγξετε εάν η συσκευή αναπαραγωγής πατάει κάποιο κουμπί του ποντικιού. Αυτό μπορεί να είναι χρήσιμο όταν δημιουργείτε παιχνίδια με χειριστήρια ποντικιού/αφής.

Παρακάτω είναι ένα παράδειγμα του τρόπου χρήσης του get_pressed() λειτουργία:

mouse_buttons = pygame.mouse.get_pressed()

Το PyGame παρέχει επίσης ένα ΠΟΝΤΙΚΙΤΡΟΧΟΣ τύπο συμβάντος που μπορείτε να χρησιμοποιήσετε για να εντοπίσετε κύλιση τροχού ποντικιού. Υποστηρίζει κάθετες και οριζόντιες κύλιση.

Εδώ είναι ένα παράδειγμα:

Για Εκδήλωση σε pygame.event.get():
αν event.type == pygame. ΤΡΟΧΟΣ ΠΟΝΤΙΚΙΟΥ:
αν συμβάν.υ > 0:
Τυπώνω("Ο τροχός του ποντικιού κύλισε προς τα πάνω")
ελιφ συμβάν.υ < 0:
Τυπώνω("Ο τροχός του ποντικιού έκανε κύλιση προς τα κάτω")

Δημιουργήστε διαδραστικά παιχνίδια με εισόδους αφής

Με τις εισόδους αφής στη θέση τους, μπορείτε τώρα να δημιουργήσετε διαδραστικά παιχνίδια. Για παράδειγμα, μπορείτε να δημιουργήσετε ένα παιχνίδι όπου ο παίκτης μπορεί να μετακινηθεί στην οθόνη χρησιμοποιώντας εισόδους αφής. Μπορείτε επίσης να δημιουργήσετε παιχνίδια που βασίζονται σε χειρονομίες, όπου ο παίκτης μπορεί να εκτελέσει διαφορετικές χειρονομίες για να ενεργοποιήσει ενέργειες στο παιχνίδι.

Οι δυνατότητες είναι ατελείωτες όταν πρόκειται για τη δημιουργία παιχνιδιών με εισόδους αφής. Με τη βοήθεια του PyGame, μπορείτε να δημιουργήσετε παιχνίδια που είναι ταυτόχρονα διασκεδαστικά και διαδραστικά. Οπότε βγείτε εκεί έξω και ξεκινήστε να δημιουργείτε!