Δώστε στους παίκτες σας κάτι να μαζέψουν καθώς προχωρούν στο παιχνίδι σας.

Τα power-ups και τα συλλεκτικά αντικείμενα είναι απαραίτητα στοιχεία παιχνιδιού που μπορούν να βελτιώσουν την εμπειρία παιχνιδιού και να προσθέσουν ενθουσιασμό στα παιχνίδια arcade. Παρέχουν στους παίκτες πρόσθετες ικανότητες, ανταμοιβές και προκλήσεις. Με τη βιβλιοθήκη arcade, θα μπορείτε να δημιουργείτε συναρπαστικά παιχνίδια με power-ups και συλλεκτικά αντικείμενα σε ελάχιστο χρόνο.

Δημιουργήστε ένα απλό παιχνίδι

Ξεκινήστε με μια βασική ρύθμιση όπου το Ο παίκτης μπορεί να κινηθεί προς τέσσερις κατευθύνσεις (αριστερά, δεξιά, πάνω και κάτω) χρησιμοποιώντας τις εισόδους του πληκτρολογίου. Επιπλέον, εισαγάγετε ένα εχθρικό αντικείμενο για να παρέχει αλληλεπίδραση μέσα στο περιβάλλον του παιχνιδιού.

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

Δημιουργήστε ένα νέο αρχείο με όνομα simple-game.py και προσθέστε τον παρακάτω κώδικα:

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

μπλε = στοά.χρώμα. ΜΠΛΕ
κόκκινο = στοά.χρώμα. ΤΟ ΚΟΚΚΙΝΟ
μαύρο = στοά.χρώμα. ΜΑΥΡΟΣ
λευκό = στοά.χρώμα. ΑΣΠΡΟ
κίτρινο = στοά.χρώμα. ΚΙΤΡΙΝΟΣ
πράσινο = στοά.χρώμα. ΠΡΑΣΙΝΟΣ
πορτοκαλί = στοά.χρώμα. ΠΟΡΤΟΚΑΛΙ

τάξηΠαιχνίδι(στοά. Παράθυρο):
def__μέσα σε αυτό__(εαυτός, πλάτος, ύψος):
super().__init__(πλάτος, ύψος)
arcade.set_background_color (μαύρο)

self.player = arcade. SpriteCircle(20, μπλε)
self.player.center_x = πλάτος // 2
self.player.center_y = ύψος // 2

αυτο.εχθρός = στοά. SpriteSolidColor(20, 20, το κόκκινο)
self.enemy.center_x = πλάτος // 4
self.enemy.center_y = ύψος // 4

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

defεκσυγχρονίζω(self, delta_time):
πέρασμα

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

defκύριος():
παιχνίδι = παιχνίδι (800, 600)
arcade.run()

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

Εκτελέστε αυτόν τον κωδικό και θα έχετε ένα βασικό παιχνίδι με την κίνηση του παίκτη και ένα εχθρικό αντικείμενο.

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

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

τάξηΠαιχνίδι(στοά. Παράθυρο):
def__μέσα σε αυτό__(εαυτός, πλάτος, ύψος):
super().__init__(πλάτος, ύψος)

αυτο.βαθμολογία = 0
εαυτός.υγεία = 100

defon_draw(εαυτός):
arcade.draw_text(στ" Βαθμολογία: {self.score}", 10, 10, άσπρο)
arcade.draw_text(στ" Υγεία: {self.health}", 10, 30, άσπρο)

defεκσυγχρονίζω(self, delta_time):
αν arcade.check_for_collision (self.player, self.enemi):
εαυτός.υγεία -= 10

αν εαυτός.υγεία <= 0:
self.game_over()

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

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

Προσθήκη Συλλεκτικών

Στη συνέχεια, δημιουργήστε συλλεκτικά αντικείμενα που θα αυξήσουν το σκορ του παίκτη κατά 10 όταν συλλεχθούν. Αυτά τα συλλεκτικά αντικείμενα θα έχουν διαφορετικά σχήματα για οπτική ποικιλία. Δημιουργήστε ένα νέο αρχείο με όνομα συλλεκτικά.py και προσθέστε τον κωδικό με την παρακάτω ενημέρωση:

τάξηΠαιχνίδι(στοά. Παράθυρο):
def__μέσα σε αυτό__(εαυτός, πλάτος, ύψος):
super().__init__(πλάτος, ύψος)

αυτο.συλλεκτικά = στοά. SpriteList()

Για _ σε εύρος(5):
συλλεκτικός = στοά. SpriteSolidColor(20, 40, κίτρινο)
collectible.center_x = random.randint(0, πλάτος)
collectible.center_y = random.randint(0, ύψος)
self.collectibles.append (συλλεκτικό)

defon_draw(εαυτός):
arcade.start_render()
self.player.draw()
self.enemy.draw()
self.collectibles.draw()
arcade.draw_text(στ" Βαθμολογία: {self.score}", 10, 10, άσπρο)
arcade.draw_text(στ" Υγεία: {self.health}", 10, 30, άσπρο)

defεκσυγχρονίζω(self, delta_time):
Για συλλεκτικό σε self.collectibles:
αν arcade.check_for_collision (self.player, συλλεκτικό):
self.score += 10
collectible.remove_from_sprite_lists()

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

Προσθήκη Power-Ups

Τώρα, μπορείτε να προσθέσετε power-ups στο παιχνίδι σας. Όταν ο παίκτης συλλέξει ένα power-up, μια ασπίδα θα εμφανιστεί γύρω του για 10 δευτερόλεπτα. Κατά τη διάρκεια αυτής της περιόδου, εάν το ο παίκτης συγκρούεται με τον εχθρό, θα καταστρέψουν τον εχθρό. Δημιουργήστε ένα νέο αρχείο με όνομα power-ups.py και προσθέστε τον κωδικό με την παρακάτω ενημέρωση:

τάξηΠαιχνίδι(στοά. Παράθυρο):
def__μέσα σε αυτό__(εαυτός, πλάτος, ύψος):
super().__init__(πλάτος, ύψος)

self.power_up = arcade. SpriteSolidColor(50, 20, πράσινο)
self.power_up.center_x = random.randint(0, πλάτος)
self.power_up.center_y = random.randint(0, ύψος)

αυτο.ασπίδα_ενεργός = Ψευδής
αυτο.ασπίδα_διάρκεια = 10
self.shield_timer = 0

defon_draw(εαυτός):
arcade.start_render()
self.player.draw()
self.enemy.draw()
self.collectibles.draw()
self.power_up.draw()
arcade.draw_text(στ" Βαθμολογία: {self.score}", 10, 10, άσπρο)
arcade.draw_text(στ" Υγεία: {self.health}", 10, 30, άσπρο)

defεκσυγχρονίζω(self, delta_time):
αν arcade.check_for_collision (self.player, self.enemi):
ανδεν self.shield_active:
εαυτός.υγεία -= 10
αν εαυτός.υγεία <= 0:
self.game_over()
αλλού:
self.enemy.remove_from_sprite_lists()

αν self.shield_active:
self.shield_timer += delta_time

αν self.shield_timer >= self.shield_duration:
αυτο.ασπίδα_ενεργός = Ψευδής
self.shield_timer = 0

Για συλλεκτικό σε self.collectibles:
αν arcade.check_for_collision (self.player, συλλεκτικό):
self.score += 10
collectible.remove_from_sprite_lists()

αν arcade.check_for_collision (self.player, self.power_up):
αυτο.ασπίδα_ενεργός = Αληθής
self.power_up.remove_from_sprite_lists()

Παρακάτω είναι η έξοδος:

Συμπεριλαμβανομένων πρόσθετων χαρακτηριστικών

Μπορείτε να βελτιώσετε περαιτέρω το σύστημα τροφοδοσίας και συλλεκτικών ειδών προσθέτοντας πρόσθετες λειτουργίες. Για παράδειγμα, μπορείτε να δημιουργήσετε ένα χρονοδιακόπτη ενεργοποίησης που επεκτείνει το χρόνο παιχνιδιού όταν συλλέγεται. Δημιουργήστε ένα νέο αρχείο με όνομα timer-power-up.py και προσθέστε τον κωδικό με την παρακάτω ενημέρωση:

τάξηΠαιχνίδι(στοά. Παράθυρο):
def__μέσα σε αυτό__(εαυτός, πλάτος, ύψος):
super().__init__(πλάτος, ύψος)
arcade.set_background_color (μαύρο)

self.player = arcade. SpriteCircle(20, μπλε)
# ...

self.timer_power_up = arcade. SpriteSolidColor(40, 20, πορτοκαλί)
self.timer_power_up.center_x = random.randint(0, πλάτος)
self.timer_power_up.center_y = random.randint(0, ύψος)

εαυτός.παιχνίδι_χρόνος = 60# Αρχικός χρόνος παιχνιδιού σε δευτερόλεπτα
self.timer_power_up_duration = 10

# ...

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

αν arcade.check_for_collision (self.player, self.timer_power_up):
self.game_time += self.timer_power_up_duration
self.timer_power_up.remove_from_sprite_lists()

# ...

defκύριος():
παιχνίδι = παιχνίδι (800, 600)
arcade.run()

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

Βέλτιστες πρακτικές για Power-Ups και Συλλεκτικά

Τα power-ups και τα συλλεκτικά αντικείμενα παίζουν καθοριστικό ρόλο στη βελτίωση της εμπειρίας παιχνιδιού των arcade παιχνιδιών. Για να διασφαλίσετε ότι αυτά τα στοιχεία είναι ευχάριστα και καλά ενσωματωμένα στο παιχνίδι, είναι απαραίτητο να ακολουθήσετε ορισμένες βέλτιστες πρακτικές:

Οπτική σαφήνεια και συνέπεια

Χρησιμοποιήστε ξεχωριστά και οπτικά ελκυστικά sprites για power-ups και συλλεκτικά αντικείμενα για να τα κάνετε να ξεχωρίζουν από άλλα στοιχεία του παιχνιδιού. Βεβαιωθείτε ότι η εμφάνιση των power-ups και των συλλεκτικών αντικειμένων ευθυγραμμίζεται με τα εφέ και τον σκοπό τους στο παιχνίδι.

Διατηρήστε τη συνέπεια στο σχέδιο, τους συνδυασμούς χρωμάτων και το μέγεθος για power-ups και συλλεκτικά αντικείμενα σε όλο το παιχνίδι.

Ισορροπία και Πρόκληση

Προσαρμόστε τη σπανιότητα και τη διανομή των power-ups και των συλλεκτικών στοιχείων για να διατηρήσετε μια αίσθηση πρόκλησης και ανταμοιβής για τους παίκτες. Αποφύγετε τους συντριπτικούς παίκτες με πάρα πολλά power-ups ή συλλεκτικά αντικείμενα, καθώς μπορεί να μειώσει τον αντίκτυπο και τον ενθουσιασμό της εύρεσης τους.

Εξισορροπήστε προσεκτικά την αποτελεσματικότητα και τη διάρκεια των power-ups για να αποτρέψετε την υπερβολική υπερδύναμή τους ή την υποβάθμιση.

Διαγραφή δεικτών και σχολίων

Παρέχετε σαφείς οπτικές και ηχητικές ενδείξεις όταν η συσκευή αναπαραγωγής συλλέγει ένα power-up ή ένα συλλεκτικό υλικό. Εμφανίστε προσωρινά οπτικά εφέ, όπως κινούμενα σχέδια ή σωματίδια, που υποδηλώνουν την ενεργοποίηση των τροφοδοτήσεων και τη διάρκειά τους.

Σχέση πρόκλησης-ανταμοιβής

Βεβαιωθείτε ότι τα power-ups και τα συλλεκτικά αντικείμενα παρέχουν σημαντικές ανταμοιβές στον παίκτη, όπως αυξημένο σκορ, πρόσθετες ικανότητες ή εκτεταμένο χρόνο παιχνιδιού. Ευθυγραμμίστε τη δυσκολία απόκτησης power-ups και συλλεκτικών με τα οφέλη που προσφέρουν. Οι πιο απαιτητικές εργασίες θα πρέπει να αποφέρουν πιο πολύτιμες ανταμοιβές.

Playtesting και εξισορρόπηση

Δοκιμάστε το παιχνίδι εκτενώς για να παρατηρήσετε πώς αλληλεπιδρούν οι παίκτες με τα power-ups και τα συλλεκτικά αντικείμενα. Χρησιμοποιήστε τα σχόλια των παικτών για να ρυθμίσετε με ακρίβεια τη διανομή, τη διάρκεια και τα εφέ των power-ups και των συλλεκτικών στοιχείων για να δημιουργήσετε μια ισορροπημένη και ευχάριστη εμπειρία.

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

Κάντε τα παιχνίδια πιο διασκεδαστικά με Power-Ups και Συλλεκτικά

Τα power-ups και τα συλλεκτικά αντικείμενα προσθέτουν ένα επιπλέον επίπεδο ενθουσιασμού και αφοσίωσης στα παιχνίδια arcade. Όχι μόνο παρέχουν στους παίκτες νέες ικανότητες και ανταμοιβές αλλά δημιουργούν επίσης ενδιαφέρουσες προκλήσεις και στρατηγικές επιλογές.

Ενσωματώνοντας αυτές τις δυνατότητες χρησιμοποιώντας τη βιβλιοθήκη Python Arcade, μπορείτε να κάνετε τα παιχνίδια σας πιο ευχάριστα και να βελτιώσετε τη συνολική εμπειρία παιχνιδιού για τους παίκτες σας. Θυμηθείτε να πειραματιστείτε, να επαναλάβετε και να απελευθερώσετε τη δημιουργικότητά σας για να δημιουργήσετε μοναδικά και μαγευτικά power-ups και συλλεκτικά αντικείμενα που ευθυγραμμίζονται με το θέμα και τους μηχανισμούς του παιχνιδιού σας.