Προσθέστε κίνητρα για το κύριο μονοπάτι ή τις δευτερεύουσες αποστολές του παιχνιδιού σας, με συλλεκτικά αντικείμενα που ανταμείβουν.
Η προσθήκη power-ups και συλλεκτικών στοιχείων στο παιχνίδι Godot μπορεί να βελτιώσει σημαντικά την εμπειρία του παίκτη, καθιστώντας το πιο ελκυστικό και συναρπαστικό. Τα power-ups μπορούν να προσφέρουν ειδικές ικανότητες ή προσωρινά πλεονεκτήματα στον παίκτη, ενώ τα συλλεκτικά αντικείμενα μπορούν να χρησιμεύσουν ως ανταμοιβές, αυξάνοντας το σκορ του παίκτη ή παρέχοντας άλλα οφέλη.
Ευτυχώς, η δημιουργία power-ups και συλλεκτικών στοιχείων στο Godot είναι απλή, χάρη στη διαισθητική γλώσσα σεναρίου και την ενσωματωμένη μηχανή φυσικής.
Ρύθμιση του παιχνιδιού Γκοντό
Για να ξεκινήσετε, δημιουργήστε ένα παιχνίδι 2D στο η μηχανή παιχνιδιών Γκοντό και ρυθμίστε τον χαρακτήρα του παίκτη. Δημιουργήστε μια νέα σκηνή και προσθέστε ένα CharacterBody2D κόμβος. μεσα στην CharacterBody2D, πρόσθεσε ένα CollisionShape2D με ορθογώνιο σχήμα που αντιπροσωπεύει την περιοχή σύγκρουσης του παίκτη και α Sprite2D για να εμφανίσετε τον χαρακτήρα του παίκτη.
Ο κωδικός για αυτό το demo είναι διαθέσιμος σε αυτό Αποθετήριο GitHub και είναι δωρεάν για χρήση βάσει της άδειας MIT.
Τώρα, γράψτε τον κώδικα GDScript για να χειριστείτε την κίνηση του παίκτη και τις συγκρούσεις με τα όρια της οθόνης. Εδώ είναι ο πλήρης κώδικας για την κίνηση του παίκτη:
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
var velocity = Vector2()if Input.is_action_pressed('ui_right'):
velocity.x += 1if Input.is_action_pressed('ui_left'):
velocity.x -= 1if Input.is_action_pressed('ui_down'):
velocity.y += 1if Input.is_action_pressed('ui_up'):
velocity.y -= 1
velocity = velocity.normalized() * speed
move_and_collide(velocity * delta)
Αυτός ο κωδικός επιτρέπει στη συσκευή αναπαραγωγής να μετακινηθεί αριστερά, δεξιά, πάνω και κάτω χρησιμοποιώντας τα πλήκτρα βέλους. Εξασφαλίζει επίσης ότι η συσκευή αναπαραγωγής δεν κινείται πολύ γρήγορα κανονικοποιώντας το διάνυσμα ταχύτητας και εφαρμόζοντας έναν παράγοντα ταχύτητας.
Επιπλέον, δημιουργήστε εχθρικά αντικείμενα με τις δικές τους περιοχές σύγκρουσης και sprites. Για να χειριστείτε την κίνηση του εχθρού, μπορείτε να χρησιμοποιήσετε ένα παρόμοιο _φυσική_διαδικασία λειτουργήσει ως παίκτης.
Δημιουργία Συλλεκτικών
Τα συλλεκτικά είναι απαραίτητα σε πολλά παιχνίδια και ένας κοινός τύπος είναι τα νομίσματα. Δημιουργήστε ένα συλλεκτικό νόμισμα που αυξάνει τη βαθμολογία του παίκτη κατά 20 πόντους όταν συλλέγεται.
Πρώτα, δημιουργήστε μια νέα σκηνή και προσθέστε ένα Περιοχή 2Δ κόμβος ως το συλλεκτικό νόμισμα. μεσα στην Περιοχή 2Δ, πρόσθεσε ένα CollisionShape2D με σχήμα κύκλου που αναπαριστά την περιοχή σύγκρουσης και α Sprite2D για να εμφανίσετε το κέρμα.
Στη συνέχεια, προσθέστε τον ακόλουθο κώδικα GDScript στο σενάριο του προγράμματος αναπαραγωγής:
extends CharacterBody2D
var score = 0
func _on_area_2d_body_entered(body):
get_parent().get_node("Collectibles").queue_free()
score += 20
Αυτός ο κώδικας χρησιμοποιεί το _on_area_2d_body_ented σήμα για να ανιχνεύσει πότε ο χαρακτήρας του παίκτη εισέρχεται στην περιοχή σύγκρουσης του συλλεκτικού νομίσματος. Εάν εντοπίσει τον χαρακτήρα του παίκτη, συλλέγει το κέρμα (την κλήση προς ουρά_free() το αφαιρεί από τη σκηνή) και να αυξήσει τη βαθμολογία τους κατά 20 βαθμούς.
Δημιουργία Power-Ups
Τα power-ups μπορούν να προσθέσουν ενθουσιασμό στο παιχνίδι σας παρέχοντας στον παίκτη προσωρινά πλεονεκτήματα ή ικανότητες. Δημιουργήστε ένα power-up που ενεργοποιεί ένα χρονόμετρο 10 δευτερολέπτων όταν συλλέγεται. Εάν ο παίκτης αγγίξει έναν εχθρό μέσα σε αυτό το χρονικό διάστημα, θα καταστρέψει τον εχθρό.
Για να δημιουργήσετε το power-up, δημιουργήστε μια νέα σκηνή και προσθέστε ένα Περιοχή 2Δ κόμβος. μεσα στην Περιοχή 2Δ, πρόσθεσε ένα CollisionShape2D με ορθογώνιο σχήμα και α Sprite2D για να εμφανίσετε την ενεργοποίηση.
Τώρα, προσθέστε τον ακόλουθο κώδικα στο σενάριο του προγράμματος αναπαραγωγής σας:
extends CharacterBody2D
var timer_duration = 10
var power_up_active = falsefunc _on_powerups_body_entered(body):
get_parent().get_node("Powerups").queue_free()
power_up_active = true# Start the timer
await get_tree().create_timer(10.0).timeout
power_up_active = false
func _on_enemy_body_entered(body):
if power_up_active:
get_parent().get_node("Enemy").queue_free()
else:
queue_free()
Αυτός ο κώδικας χρησιμοποιεί το _on_powerups_body_ented σήμα για να ανιχνεύσει πότε ο χαρακτήρας του παίκτη συλλέγει την ενεργοποίηση. Όταν το κάνουν, αφαιρεί την ενεργοποίηση από τη σκηνή και ρυθμίζει το power_up_active μεταβλητή σε αληθές.
Η λειτουργία ξεκινά τελικά με ένα χρονόμετρο χρησιμοποιώντας αναμένω και create_timer, με διάρκεια 10 δευτερολέπτων. Κατά τη διάρκεια αυτής της περιόδου, εάν ο χαρακτήρας του παίκτη αγγίξει έναν εχθρό, τον καταστρέφει.
Εμφάνιση συλλεκτικών στοιχείων που συλλέγονται
Η εμφάνιση του αριθμού των συλλεκτικών στοιχείων που έχει συγκεντρώσει ο παίκτης μπορεί να προσθέσει μια αίσθηση επιτυχίας και προόδου. Για να το κάνετε αυτό, ξεκινήστε δημιουργώντας ένα Επιγραφή κόμβο και τοποθετώντας τον στην επάνω αριστερή γωνία της οθόνης.
Στη συνέχεια, προσθέστε τον ακόλουθο κώδικα GDScript για να ενημερώνετε το κείμενο της ετικέτας κάθε φορά που ο παίκτης συλλέγει ένα συλλεκτικό υλικό:
extends Label
func _ready():
self.text = "Collectibles: 0"
Στο σενάριο του Player.gd:
extends CharacterBody2D
var bar
func _ready():
bar = get_parent().get_node("Label")
func _physics_process(delta):
bar.text = "Collectibles: " + str(score / 20)
Αυτός ο κωδικός ενημερώνει το κείμενο της ετικέτας με τον αριθμό των συλλεκτικών που αποκτήθηκαν, τον οποίο μπορείτε να υπολογίσετε διαιρώντας τη βαθμολογία του παίκτη με το 20.
Συμπεριλαμβανομένων πρόσθετων χαρακτηριστικών
Υπάρχουν διάφορες άλλες δυνατότητες που μπορείτε να προσθέσετε στο σύστημα τροφοδοσίας και συλλεκτικών ειδών σας για να βελτιώσετε περαιτέρω το παιχνίδι σας. Εδώ είναι μερικές ιδέες:
Πολλαπλά επίπεδα Power-Ups
Αντί να έχετε μόνο έναν τύπο ενεργοποίησης, μπορείτε να εισαγάγετε διαφορετικά επίπεδα τροφοδοσίας που παρέχουν ολοένα και πιο ισχυρές ικανότητες. Για παράδειγμα, θα μπορούσατε να αναβαθμίσετε μια βασική τροφοδοσία ενίσχυσης ταχύτητας σε μια τροφοδοσία σούπερ ταχύτητας που κάνει τη συσκευή αναπαραγωγής ακόμα πιο γρήγορη.
Combo Power-Ups
Δημιουργήστε συνδυασμούς power-ups που προσφέρουν μοναδικά και ισχυρά εφέ όταν συλλέγονται μαζί. Ενθαρρύνετε τους παίκτες να σχεδιάσουν στρατηγική και να πειραματιστούν με διαφορετικούς συνδυασμούς ενδυνάμωσης για μέγιστο πλεονέκτημα.
Περιορισμός Power-Ups
Εφαρμόστε ένα cooldown ή ένα όριο για το πόσο συχνά ένας παίκτης μπορεί να συλλέξει ένα συγκεκριμένο power-up. Αυτό προσθέτει ένα στοιχείο λήψης αποφάσεων για τον παίκτη, καθώς πρέπει να επιλέξει την κατάλληλη στιγμή για να ενεργοποιήσει το power-up.
Συλλεκτικές ποικιλίες
Σχεδιάστε διαφορετικούς τύπους συλλεκτικών αντικειμένων με ποικίλες ανταμοιβές. Ορισμένα συλλεκτικά αντικείμενα θα μπορούσαν να προσφέρουν επιπλέον ζωές, προσωρινές λάτρες ή να ξεκλειδώσουν ειδικές λειτουργίες το παιχνίδι εξόδου σας.
Βέλτιστες πρακτικές για την εφαρμογή Power-Ups και Συλλεκτικών
Όταν εφαρμόζετε power-ups και συλλεκτικά αντικείμενα στο παιχνίδι Godot, λάβετε υπόψη τις ακόλουθες βέλτιστες πρακτικές:
Balance και Playtesting
Δοκιμάστε τα power-ups και τα συλλεκτικά σας αντικείμενα εκτενώς για να βεβαιωθείτε ότι δεν δημιουργούν ανισορροπίες στο παιχνίδι. Προσαρμόστε τα εφέ και τις ανταμοιβές για να παρέχετε μια δίκαιη και ευχάριστη εμπειρία στους παίκτες.
Οπτική και ακουστική ανατροφοδότηση
Χρησιμοποιήστε καθαρά και οπτικά ελκυστικά εικονίδια ή sprites για να αναπαραστήσετε power-ups και συλλεκτικά αντικείμενα. Επιπλέον, περιλαμβάνει κατάλληλο ηχητικά εφέ χωρίς πνευματικά δικαιώματα για να παρέχουν ικανοποιητικά σχόλια όταν τα συλλέγουν οι παίκτες.
Διεπαφή χρήστη (UI)
Σχεδιάστε μια καθαρή και διαισθητική διεπαφή χρήστη που εμφανίζει σχετικές πληροφορίες σχετικά με τα power-ups και τα συλλεκτικά αντικείμενα. Εμφάνιση του υπολειπόμενου χρόνου για τα ενεργά power-ups, του αριθμού των συλλεκτικών στοιχείων που συλλέγονται και οποιεσδήποτε άλλες σχετικές λεπτομέρειες.
Συνοχή
Βεβαιωθείτε ότι τα power-ups και τα συλλεκτικά αντικείμενα ευθυγραμμίζονται με το γενικό θέμα και τους μηχανισμούς του παιχνιδιού σας. Η συνέπεια στο σχεδιασμό και την εφαρμογή βοηθά στη διατήρηση μιας συνεκτικής εμπειρίας παιχνιδιού.
Αποθήκευση και Φόρτωση
Εάν το παιχνίδι σας περιλαμβάνει power-ups ή συλλεκτικά αντικείμενα που επιμένουν σε όλες τις περιόδους λειτουργίας του παιχνιδιού, εφαρμόστε ένα σύστημα αποθήκευσης και φόρτωσης για να διατηρήσετε την πρόοδο του παίκτη. Αυτό εξασφαλίζει μια απρόσκοπτη εμπειρία και παρακινεί τους παίκτες να επιστρέψουν στο παιχνίδι.
Με την τήρηση αυτών των βέλτιστων πρακτικών, μπορείτε να δημιουργήσετε ένα γυαλισμένο και συναρπαστικό δυναμικό και συλλεκτικό σύστημα που εμπλουτίζει το παιχνίδι του παιχνιδιού Godot, καθιστώντας το πιο ευχάριστο για τους παίκτες.
Κάνετε τα παιχνίδια Godot πιο ελκυστικά με τα Power-Ups και τα Συλλεκτικά
Η προσθήκη power-ups και συλλεκτικών στοιχείων στο παιχνίδι Godot μπορεί να αυξήσει σημαντικά την αφοσίωση και τη δυνατότητα αναπαραγωγής του. Τα power-ups παρέχουν στους παίκτες συναρπαστικά και προσωρινά πλεονεκτήματα.
Σχεδιάζοντας και εφαρμόζοντας προσεκτικά power-ups και συλλεκτικά αντικείμενα, μπορείτε να δημιουργήσετε μια πιο καθηλωτική και ευχάριστη εμπειρία παιχνιδιού για τους παίκτες σας. Η ευελιξία και η απλότητα του Godot διευκολύνουν τους προγραμματιστές παιχνιδιών να δημιουργούν ελκυστικά power-ups και συλλεκτικά αντικείμενα που ενισχύουν τους μηχανισμούς και την απόλαυση του παιχνιδιού τους.