Σε αυτό το σεμινάριο, θα μάθετε πώς να εμφανίζετε και να ενημερώνετε τις βαθμολογίες παιχνιδιών στο Pygame, μια δημοφιλή βιβλιοθήκη Python για ανάπτυξη παιχνιδιών. Στο τέλος, θα μπορείτε να δημιουργήσετε ένα απλό παιχνίδι άλτης και να εμφανίσετε το σκορ του παίκτη στην οθόνη καθώς προχωρούν. Το παιχνίδι παρακολουθεί την είσοδο του πληκτρολογίου, ώστε να μπορείτε να μετακινήσετε τον παίκτη αριστερά και δεξιά χρησιμοποιώντας τα πλήκτρα βέλους.
Δημιουργία ενός απλού παιχνιδιού
Για να μπορέσετε να εμφανίσετε και να ενημερώσετε τις βαθμολογίες στο Pygame, θα πρέπει πρώτα να δημιουργήσετε ένα παιχνίδι για να εργαστείτε. Σε αυτό το σεμινάριο, θα δημιουργήσετε ένα απλό παιχνίδι όπου ένας παίκτης μπορεί να κινηθεί αριστερά ή δεξιά. Αλλά πριν από αυτό, θα πρέπει να έχετε pip εγκατεστημένο στη συσκευή σας. Αφού εγκαταστήσετε το pip, εκτελέστε την παρακάτω εντολή για να εγκαταστήσετε τη λειτουργική μονάδα pygame:
κουκούτσι εγκαθιστώ pygame
Για να ξεκινήσετε, εισαγάγετε τις απαραίτητες μονάδες και ρυθμίστε τη βασική δομή του παιχνιδιού:
εισαγωγή pygame, sys
pygame.init()# Ρυθμίστε το παράθυρο
οθόνη = pygame.display.set_mode((750, 450))# Ρυθμίστε το ρολόι του παιχνιδιού
ρολόι = pygame.ώρα. Ρολόι()# Ρυθμίστε τον χαρακτήρα του προγράμματος αναπαραγωγής
παίκτης = pygame. Rect(100, 200, 50, 50)# Ρυθμίστε το εμπόδιο
εμπόδιο = pygame. Rect(200, 200, 50, 50)# Ρυθμίστε τον βρόχο παιχνιδιού
ενώΑληθής:
# Χειριστείτε συμβάντα
Για Εκδήλωση σε pygame.event.get():
αν event.type == pygame. ΕΓΚΑΤΑΛΕΙΠΩ:
pygame.quit()
sys.exit()αν event.type == pygame. KEYDOWN:
αν event.key == pygame. K_LEFT:
παίκτης.χ -= 10
ελιφ event.key == pygame. K_RIGHT:
παίκτης.χ += 10
# Ενημερώστε την κατάσταση του παιχνιδιού
# Ζωγράφισε το παιχνίδι
screen.fill((0, 0, 0))
pygame.draw.rect (οθόνη, (255, 0, 0), παίκτης)
pygame.draw.rect (οθόνη, (0, 255, 0), εμπόδιο)
# Ενημερώστε την οθόνη
pygame.display.flip()
# Περιορίστε τον ρυθμό καρέ
clock.tick(60)
Με αυτόν τον σκελετό κωδικό μπορείτε να παίξετε το βασικό σας παιχνίδι. Πατήστε αριστερά ή δεξιά για να μετακινήσετε τον χαρακτήρα του παίκτη, που αντιπροσωπεύεται από το κόκκινο τετράγωνο.
Εμφάνιση και ενημέρωση του σκορ παιχνιδιού
Τώρα που έχετε ρυθμίσει ένα βασικό παιχνίδι, προσθέστε ένα σύστημα βαθμολόγησης και εμφανίστε το σκορ στην οθόνη.
Ρύθμιση του Pygame για απόδοση κειμένου
Για να εμφανίσουμε κείμενο στο Pygame, πρέπει πρώτα να εισαγάγουμε τις απαραίτητες μονάδες και να αρχικοποιήσουμε τη μονάδα γραμματοσειράς. Για να το κάνετε αυτό, χρησιμοποιήστε τον ακόλουθο κώδικα στο επάνω μέρος του σεναρίου σας:
εισαγωγή pygame
εισαγωγή sys
εισαγωγή os
pygame.init()
pygame.font.init()
Η ενότητα pygame.font σάς επιτρέπει να χρησιμοποιείτε τις δυνατότητες απόδοσης κειμένου της Pygame και η συνάρτηση pygame.init() προετοιμάζει τη μονάδα γραμματοσειράς.
Δημιουργία Βασικού Συστήματος Βαθμολόγησης
Στη συνέχεια, δημιουργήστε ένα βασικό σύστημα βαθμολόγησης για το παιχνίδι σας. Για να το κάνετε αυτό, δηλώστε και αρχικοποιήστε δύο μεταβλητές: score και score_increment. Η μεταβλητή σκορ θα παρακολουθεί την τρέχουσα βαθμολογία του παίκτη και η μεταβλητή score_increment θα καθορίσει πόσο θα αυξάνεται το σκορ κάθε φορά που ο παίκτης αγγίζει ένα εμπόδιο.
Προσθέστε τον ακόλουθο κώδικα στην κορυφή του σεναρίου σας, κάτω από τις εισαγωγές:
σκορ = 0
score_increment = 10
Στη συνέχεια, ενημερώστε το σκορ καθώς προχωρά το παιχνίδι. Στον βρόχο του παιχνιδιού, μπορείτε να ελέγξετε αν ο χαρακτήρας του παίκτη συγκρούεται με το εμπόδιο. Εάν είναι, αυξήστε τη βαθμολογία κατά το ποσό που καθορίζεται στη μεταβλητή score_increment.
Ενημερώστε τον βρόχο παιχνιδιού για να συμπεριλάβει τον ακόλουθο κώδικα:
# Ενημερώστε την κατάσταση του παιχνιδιού
αν player.colliderect (εμπόδιο):
βαθμολογία += score_increment
Αυτός ο κωδικός ελέγχει εάν ο χαρακτήρας του παίκτη συγκρούεται με το εμπόδιο. Εάν είναι, αυξάνει τη βαθμολογία κατά το καθορισμένο ποσό.
Εμφάνιση της βαθμολογίας στην οθόνη με τη μονάδα γραμματοσειράς
Τώρα που έχουμε ένα βασικό σύστημα βαθμολόγησης σε εφαρμογή, ας εμφανίσουμε το σκορ στην οθόνη χρησιμοποιώντας τη μονάδα γραμματοσειράς.
Αρχικά, ας ρυθμίσουμε το αντικείμενο γραμματοσειράς προσθέτοντας τον ακόλουθο κώδικα στην κορυφή του βρόχου του παιχνιδιού:
# Ρυθμίστε το αντικείμενο γραμματοσειράς
γραμματοσειρά = pygame.font. Γραμματοσειρά(Κανένας, 36)
Αυτός ο κώδικας δημιουργεί ένα αντικείμενο γραμματοσειράς με μέγεθος 36 pixel και χωρίς καθορισμένη οικογένεια γραμματοσειρών. Μπορείτε να προσαρμόσετε τη γραμματοσειρά και το μέγεθος γραμματοσειράς καθορίζοντας διαφορετικό αρχείο γραμματοσειράς και μέγεθος στη συνάρτηση Font().
Στη συνέχεια, ας τραβήξουμε το σκορ στην οθόνη. Προσθέστε τον ακόλουθο κώδικα στον βρόχο του παιχνιδιού, αφού ενημερώσετε την κατάσταση του παιχνιδιού και γεμίσετε την οθόνη:
# Σχεδιάστε την παρτιτούρα στην οθόνη
score_text = font.render(f'Score: {σκορ}', Αληθής, (255, 255, 255))
screen.blit (score_text, (10, 10))
Αυτός ο κώδικας χρησιμοποιεί τη μέθοδο render() του αντικειμένου γραμματοσειράς για να δημιουργήσει μια επιφάνεια κειμένου που περιέχει την παρτιτούρα και στη συνέχεια σβήνει (ζωγραφίζει) την επιφάνεια κειμένου στην οθόνη στη θέση (10, 10).
Προσαρμογή της εμφάνισης του κειμένου βαθμολογίας
Τέλος, προσαρμόστε την εμφάνιση του κειμένου παρτιτούρας επιλέγοντας γραμματοσειρά και μέγεθος γραμματοσειράς και αλλάζοντας το χρώμα του κειμένου.
Για να επιλέξετε μια συγκεκριμένη γραμματοσειρά και μέγεθος γραμματοσειράς, περάστε το αρχείο και το μέγεθος γραμματοσειράς ως ορίσματα στη συνάρτηση Font():
γραμματοσειρά = pygame.font. Γραμματοσειρά('arial.ttf', 48)
Μπορείτε εύκολα λήψη διαφορετικών αρχείων γραμματοσειρών από το διαδίκτυο. Μετά τη λήψη, απλώς τοποθετήστε το αρχείο γραμματοσειράς στη ρίζα του καταλόγου εργασίας σας.
Για να αλλάξετε το χρώμα του κειμένου, περάστε μια πλειάδα χρώματος ως τρίτο όρισμα στη μέθοδο render():
score_text = font.render(f'Score: {σκορ}', Αληθής, (0, 255, 0))
Και τέλος! Με αυτές τις αλλαγές, θα πρέπει τώρα να έχετε ένα πλήρως λειτουργικό σύστημα βαθμολογίας παιχνιδιού που εμφανίζει το σκορ στην οθόνη και το ενημερώνει καθώς ο παίκτης προχωρά στο παιχνίδι. Μπορείτε να προσαρμόσετε περαιτέρω την εμφάνιση του κειμένου παρτιτούρας πειραματιζόμενοι με διαφορετικές οικογένειες γραμματοσειρών, μεγέθη και χρώματα.
Παρακολούθηση σκορ στο παιχνίδι
Παρακάτω είναι ο πλήρης κώδικας εργασίας, μπορείτε επίσης να βρείτε τον κωδικό σε αυτό GitHub ρεπο.
εισαγωγή pygame
εισαγωγή ospygame.init()
pygame.font.init()σκορ = 0
score_increment = 10# Ρυθμίστε το παράθυρο
οθόνη = pygame.display.set_mode((750, 450))# Ρυθμίστε το ρολόι του παιχνιδιού
ρολόι = pygame.ώρα. Ρολόι()# Ρυθμίστε τον χαρακτήρα του προγράμματος αναπαραγωγής
παίκτης = pygame. Rect(100, 200, 50, 50)# Ρυθμίστε το εμπόδιο
εμπόδιο = pygame. Rect(200, 200, 50, 50)# Ρυθμίστε τον βρόχο παιχνιδιού
ενώΑληθής:
γραμματοσειρά = pygame.font. Γραμματοσειρά(Κανένας, 36)
# Χειριστείτε συμβάντα
Για Εκδήλωση σε pygame.event.get():
αν event.type == pygame. ΕΓΚΑΤΑΛΕΙΠΩ:
pygame.quit()
sys.exit()
αν event.type == pygame. KEYDOWN:
αν event.key == pygame. K_LEFT:
παίκτης.χ -= 10
ελιφ event.key == pygame. K_RIGHT:
παίκτης.χ += 10
# Ενημερώστε την κατάσταση του παιχνιδιού
αν player.colliderect (εμπόδιο):
βαθμολογία += score_increment
# Ζωγράφισε το παιχνίδι
screen.fill((0, 0, 0))
pygame.draw.rect (οθόνη, (255, 0, 0), παίκτης)
pygame.draw.rect (οθόνη, (0, 255, 0), εμπόδιο)
# Σχεδιάστε την παρτιτούρα στην οθόνη
score_text = font.render(f'Score: {σκορ}', Αληθής, (255, 255, 255))
screen.blit (score_text, (10, 10))
# Ενημερώστε την οθόνη
pygame.display.flip()
# Περιορίστε τον ρυθμό καρέ
clock.tick(60)
Αυτός ο κωδικός δημιουργεί ένα παράθυρο με μέγεθος 750x450 pixel, χαρακτήρα προγράμματος αναπαραγωγής και ένα εμπόδιο. Χρησιμοποιεί έναν βρόχο παιχνιδιού για να χειριστεί συμβάντα, να ενημερώσει την κατάσταση και να τραβήξει το παιχνίδι στην οθόνη. Περιλαμβάνει επίσης ένα σύστημα βαθμολόγησης που αυξάνει το σκορ κατά δέκα πόντους κάθε φορά που ο χαρακτήρας του παίκτη συγκρούεται με το εμπόδιο και ένα αντικείμενο γραμματοσειράς και κώδικας απόδοσης κειμένου για να εμφανιστεί η παρτιτούρα στην οθόνη.
Στην ενότητα διαχείρισης συμβάντων, ο κωδικός περιλαμβάνει επίσης τη δυνατότητα μετακίνησης του χαρακτήρα του παίκτη αριστερά και δεξιά χρησιμοποιώντας τα πλήκτρα βέλους.
Ο βρόχος παιχνιδιού περιλαμβάνει κώδικα για την ενημέρωση της οθόνης και τον περιορισμό του ρυθμού καρέ στα 60 FPS, διασφαλίζοντας την ομαλή εκτέλεση του παιχνιδιού.
Συνολικά, αυτός ο κώδικας παρέχει ένα βασικό παράδειγμα του τρόπου εμφάνισης και ενημέρωσης των βαθμολογιών παιχνιδιών στο Pygame και μπορεί να προσαρμοστεί και να επεκταθεί περαιτέρω για τη δημιουργία πιο περίπλοκων και ελκυστικών παιχνιδιών.
Δημιουργήστε διαφορετικά παιχνίδια χρησιμοποιώντας το Pygame
Το Pygame είναι μια ισχυρή και εύχρηστη βιβλιοθήκη για τη δημιουργία παιχνιδιών στην Python. Με το πλούσιο σύνολο χαρακτηριστικών και δυνατοτήτων του, μπορείτε να δημιουργήσετε μια μεγάλη γκάμα παιχνιδιών, από απλά jumpers και platformers έως πιο περίπλοκα και καθηλωτικά παιχνίδια.
Είτε είστε αρχάριος είτε έμπειρος προγραμματιστής παιχνιδιών, το Pygame είναι μια εξαιρετική επιλογή για τη δημιουργία συναρπαστικών και διασκεδαστικών παιχνιδιών.