Πολλά παιχνίδια χρησιμοποιούν sprites για να αναπαραστήσουν τον χαρακτήρα ή τους εχθρούς του παίκτη. Μάθετε πώς η βιβλιοθήκη Arcade της Python διευκολύνει την εργασία μαζί τους.

Η βιβλιοθήκη Arcade της Python παρέχει έναν απρόσκοπτο και διαισθητικό τρόπο για να ενσωματώσετε sprites στα έργα ανάπτυξης παιχνιδιών σας. Τα Sprites είναι απαραίτητα στοιχεία που φέρνουν οπτική ελκυστικότητα, διαδραστικότητα και δυναμική κίνηση στα παιχνίδια σας.

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

Δημιουργώντας ένα απλό παιχνίδι

Ο κώδικας που χρησιμοποιείται σε αυτό το άρθρο είναι διαθέσιμος σε αυτό Αποθετήριο GitHub και είναι δωρεάν για χρήση βάσει της άδειας MIT.

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

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

Ξεκινήστε δημιουργώντας ένα απλό παιχνίδι χρησιμοποιώντας τη βιβλιοθήκη Arcade της Python. Σε αυτό το παιχνίδι, ο παίκτης θα μπορεί να κινείται αριστερά και δεξιά.

instagram viewer

Δημιουργήστε μια κλάση MyGame από την οποία κληρονομείται στοά. Παράθυρο. Μετά από αυτό, ορίστε τη μέθοδο εγκατάστασης για την προετοιμασία των μεταβλητών και το on_draw μέθοδος για να σχεδιάσετε τα αντικείμενα του παιχνιδιού. ο on_key_press Η μέθοδος επιτρέπει στον παίκτη να μετακινήσει το μπλε ορθογώνιο αριστερά ή δεξιά.

Εδώ είναι ο κώδικας για το βασικό παιχνίδι σας:

εισαγωγή στοά

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

τάξηMyGame(στοά. Παράθυρο):
def__μέσα σε αυτό__(εαυτός, πλάτος, ύψος):
super().__init__(πλάτος, ύψος)
arcade.set_background_color (arcade.color. ΑΣΠΡΟ)

defεγκατάσταση(εαυτός):
self.player_x = 320

defon_draw(εαυτός):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arcade.color. ΜΠΛΕ)

defon_key_press(αυτο, κλειδί, τροποποιητές):
αν κλειδί == arcade.key. ΑΡΙΣΤΕΡΑ:
self.player_x -= 10
ελιφ κλειδί == arcade.key. ΣΩΣΤΑ:
self.player_x += 10

defκύριος():
παιχνίδι = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()

αν __όνομα__ == "__κύριος__":
κύριος()

Πώς να προσθέσετε Sprites στο παιχνίδι σας

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

Φορτώστε ένα αρχείο εικόνας με όνομα player.png για να δημιουργήσετε το sprite του player σας. Ρυθμίστε την αρχική θέση του sprite στο κέντρο της οθόνης. Στο on_draw μέθοδο, σχεδιάστε το sprite του παίκτη χρησιμοποιώντας τη συνάρτηση draw.

τάξηMyGame(στοά. Παράθυρο):
def__μέσα σε αυτό__(εαυτός, πλάτος, ύψος):
super().__init__(πλάτος, ύψος)
arcade.set_background_color (arcade.color. ΑΣΠΡΟ)
self.player_sprite = Κανένας

defεγκατάσταση(εαυτός):
self.player_sprite = arcade. Ξωτικό("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defon_draw(εαυτός):
arcade.start_render()
self.player_sprite.draw()

defon_key_press(αυτο, κλειδί, τροποποιητές):
αν κλειδί == arcade.key. ΑΡΙΣΤΕΡΑ:
self.player_sprite.change_x = -5
ελιφ κλειδί == arcade.key. ΣΩΣΤΑ:
self.player_sprite.change_x = 5

defεκσυγχρονίζω(self, delta_time):
self.player_sprite.update()

Πρόσθετες λειτουργίες Sprite

Τα Sprites στο Arcade προσφέρουν χαρακτηριστικά πέρα ​​από τη βασική κίνηση. Για παράδειγμα, μπορείτε να αλλάξετε το μέγεθος ενός sprite ορίζοντας την ιδιότητα κλίμακας.

Μπορείτε να ορίσετε το χαρακτηριστικό scale του sprite του προγράμματος αναπαραγωγής στο 0,5, για να το κάνετε στο μισό του αρχικού μεγέθους.

τάξηMyGame(στοά. Παράθυρο):
defεγκατάσταση(εαυτός):
self.player_sprite = arcade. Ξωτικό("player.png", κλίμακα=0.5)

Έλεγχος του Sprite Movement

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

self.player_sprite.change_angle = ROTATION_SPEED

Συνδυάζοντας αυτά τα χαρακτηριστικά με είσοδο πληκτρολογίου ή ποντικιού, μπορείτε να δημιουργήσετε δυναμικά και ανταποκρινόμενα χειριστήρια κίνησης για τα sprites του παιχνιδιού σας.

Προσθήκη Ανίχνευσης Σύγκρουσης με Sprites

Η ανίχνευση σύγκρουσης είναι ζωτικής σημασίας σε πολλά παιχνίδια. Με το Arcade, μπορείτε εύκολα να εντοπίσετε συγκρούσεις μεταξύ sprites χρησιμοποιώντας το arcade.check_for_collision λειτουργία. Ας τροποποιήσουμε τον κώδικα ώστε να περιλαμβάνει ανίχνευση σύγκρουσης μεταξύ του sprite του παίκτη και ενός άλλου sprite που ονομάζεται obstacle.png:

τάξηMyGame(στοά. Παράθυρο):
def__μέσα σε αυτό__(εαυτός, πλάτος, ύψος):
super().__init__(πλάτος, ύψος)
arcade.set_background_color (arcade.color. ΑΣΠΡΟ)
self.player_sprite = Κανένας

defεγκατάσταση(εαυτός):
self.player_sprite = arcade. Ξωτικό("player.png", κλίμακα=0.1)
self.obstacle_sprite = arcade. Ξωτικό("obstacle.png", κλίμακα = 0.1)
self.obstacle_sprite.center_x = SCREEN_WIDTH
self.obstacle_sprite.center_y = SCREEN_HEIGHT // 2
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defon_draw(εαυτός):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()

defon_key_press(αυτο, κλειδί, τροποποιητές):
αν κλειδί == arcade.key. ΑΡΙΣΤΕΡΑ:
self.player_sprite.change_x = -5
ελιφ κλειδί == arcade.key. ΣΩΣΤΑ:
self.player_sprite.change_x = 5

defεκσυγχρονίζω(self, delta_time):
self.player_sprite.update()
self.obstacle_sprite.update()

αν arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
Τυπώνω("Εντοπίστηκε σύγκρουση!")

Κάντε τα παιχνίδια σας πιο ελκυστικά με τα Sprites

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

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