Μάθετε πώς να εμφανίζετε προσαρμοσμένα κουμπιά σε ξεχωριστές σκηνές για να λειτουργούν ως απλά μενού οθόνης για τα παιχνίδια σας.
Βασικά Takeaways
- Τα προσαρμοσμένα μενού στο Godot μπορούν να βελτιώσουν την αφοσίωση και την εμπειρία χρήστη παρέχοντας εύκολη πλοήγηση και γρήγορη πρόσβαση στις λειτουργίες του παιχνιδιού.
- Ο Godot παρέχει ένα ισχυρό σύνολο εργαλείων για τη δημιουργία προσαρμοσμένων μενού διεπαφής χρήστη χρησιμοποιώντας κόμβους ελέγχου στη μηχανή παιχνιδιού.
- Μπορείτε να δημιουργήσετε μενού όπως μενού έναρξης, μενού παύσης και οθόνες παιχνιδιού πάνω στο Godot προσθέτοντας κατάλληλους κόμβους και υλοποιώντας τη λειτουργικότητά τους χρησιμοποιώντας το GDScript.
Τα προσαρμοσμένα μενού μπορούν να βελτιώσουν σημαντικά την αφοσίωση και την εμπειρία χρήστη του παιχνιδιού σας Godot. Δημιουργώντας διαισθητικά και οπτικά ελκυστικά μενού, μπορείτε να παρέχετε στους παίκτες εύκολη πλοήγηση και γρήγορη πρόσβαση σε διάφορες λειτουργίες του παιχνιδιού.
Ευτυχώς, ο Godot παρέχει ένα ισχυρό σύνολο εργαλείων για τη δημιουργία προσαρμοσμένων μενού διεπαφής χρήστη χρησιμοποιώντας κόμβους ελέγχου.
Ρύθμιση του παιχνιδιού Γκοντό
Για να ξεκινήσετε, δημιουργήστε μια σκηνή παιχνιδιού 2D η μηχανή παιχνιδιών Γκοντό. Πρόσθεσε ένα KinematicBody2D κόμβος για τον χαρακτήρα του παίκτη και επισυνάψτε α CollisionShape2D κόμβο σε αυτό, ορίστε ένα ορθογώνιο σχήμα που αντιπροσωπεύει την περιοχή σύγκρουσης του παίκτη.
Ο κώδικας που χρησιμοποιείται σε αυτό το άρθρο είναι διαθέσιμος σε αυτό Αποθετήριο GitHub και είναι δωρεάν για χρήση βάσει της άδειας MIT.
Επιπλέον, συμπεριλάβετε α Sprite2D κόμβος για την οπτική εμφάνιση του χαρακτήρα του προγράμματος αναπαραγωγής. Ακολουθεί ένα απόσπασμα κώδικα GDScript για να ενεργοποιήσετε την κίνηση του παίκτη:
επεκτείνει το KinematicBody2D
const ΤΑΧΥΤΗΤΑ = 200
const ΒΑΡΥΤΗΤΑ = 500
var velocity = Διάνυσμα2.ZEROfunc _physics_process (δέλτα):
var move_direction = 0αν Input.is_action_pressed("ui_right"):
κίνηση_κατεύθυνσης += 1αν Input.is_action_pressed("ui_left"):
κίνηση_κατεύθυνσης -= 1
ταχύτητα.χ = κίνηση_κατεύθυνση * ΤΑΧΥΤΗΤΑ
ταχύτητα.y += ΒΑΡΥΤΗΤΑ * δέλτα
velocity = move_and_slide (ταχύτητα, Vector2.UP)
Σε αυτόν τον κώδικα, ορίστε μια σταθερά ΤΑΧΥΤΗΤΑ για να ελέγξετε την ταχύτητα κίνησης του παίκτη. Ενημερώστε τη μεταβλητή ταχύτητας ως απόκριση στην είσοδο του χρήστη και καλέστε move_and_slide() για να μετακινήσετε τον παίκτη λαμβάνοντας υπόψη τις συγκρούσεις και τη βαρύτητα του παιχνιδιού.
Δημιουργήστε ένα μενού "Έναρξη".
Για να δημιουργήσετε ένα μενού έναρξης στο Godot, προσθέστε έναν κόμβο ελέγχου ως τη ρίζα της σκηνής. Προσθέστε έναν κόμβο ετικέτας ως θυγατρικό αυτού του κόμβου ελέγχου και ορίστε το κείμενό του σε Απλό παιχνίδι. Μπορείτε να προσαρμόσετε τη γραμματοσειρά, το μέγεθος και το χρώμα της ετικέτας ώστε να ταιριάζει με το στυλ του παιχνιδιού σας.
Μετά από αυτό, προσθέστε έναν κόμβο Button ως θυγατρικό του κόμβου ελέγχου. Ρυθμίστε το κείμενο του κουμπιού σε Παίζω παιχνίδι. Γράψτε προσαρμοσμένο κώδικα για το Παίζω παιχνίδι κουμπί για να χειριστείτε τη λειτουργικότητά του:
επεκτείνει τον Έλεγχο
func _ready():
var playButton = $Button
playButton.connect("πατημένο", εαυτός, "_on_PlayButton_pressed")
func _on_PlayButton_pressed():
# Φορτώστε τη σκηνή του παιχνιδιού
var gameScene = προφόρτωση("res://GameScene.tscn")
# Μετάβαση στη σκηνή του παιχνιδιού
get_tree().change_scene (gameScene)
Αυτός ο κωδικός συνδέει το πατημένο σήμα του Κουμπί αναπαραγωγής στο _on_PlayButton_πατήθηκε λειτουργία. Αυτή η λειτουργία φορτώνει τη σκηνή του παιχνιδιού χρησιμοποιώντας προφόρτωση () και δημιουργεί ένα παράδειγμα αυτού. Στη συνέχεια χρησιμοποιεί change_scene() για μετάβαση στη σκηνή του παιχνιδιού.
Ομοίως, μπορείτε να προσθέσετε ένα Εξοδος κουμπί που μπορούν να χρησιμοποιήσουν οι παίκτες για να εγκαταλείψουν το παιχνίδι:
func _ready():
var playButton = $Button
var exitButton = $Button2
playButton.connect("πατημένο", εαυτός, "_on_PlayButton_pressed")
exitButton.connect("πατημένο", εαυτός, "_on_ExitButton_pressed")
func _on_ExitButton_pressed():
# Κλείστε το παιχνίδι
get_tree().quit()
Αυτός ο κωδικός συνδέει το πατημένο σήμα του κουμπιού εξόδου στο _on_ExitButton_πατήθηκε λειτουργία. Αυτή η λειτουργία καλεί εγκαταλείπω() για έξοδο από το παιχνίδι.
Δημιουργήστε το Μενού Παύσης
Για να προσθέσετε ένα μενού παύσης στο παιχνίδι Godot, δημιουργήστε μια νέα σκηνή με έναν κόμβο ελέγχου ως τη ρίζα του μενού παύσης. Σχεδιάστε τα οπτικά στοιχεία του μενού, συμπεριλαμβανομένης μιας ετικέτας για Σε παύση και κουμπιά για να συνεχίσετε το παιχνίδι, να επιστρέψετε στο κύριο μενού και να βγείτε από το παιχνίδι.
Προσθέστε τη σκηνή ως θυγατρικό κόμβο του κύριου παιχνιδιού. Στο σενάριο που είναι συνημμένο στον κόμβο ελέγχου, προσθέστε τον ακόλουθο κώδικα:
επεκτείνει τον Έλεγχο
func _ready():
$btnResume.connect("πατημένο", εαυτός, "_on_resume_button_pressed")
$btnHome.connect("πατημένο", εαυτός, "_on_menu_button_pressed")
$btnExit.connect("πατημένο", εαυτός, "_on_exit_button_pressed")
pause_mode = Κόμβος. PAUSE_MODE_PROCESS
get_tree().paused = false
self.hide()
func _input (γεγονός):
αν event.is_action_pressed("ui_cancel"):
ανδεν self.is_visible_in_tree():
# Παύση του παιχνιδιού όταν το μενού παύσης δεν είναι ορατό
self.show()
get_tree().paused = true
αλλού:
# Καταργήστε την παύση του παιχνιδιού όταν το μενού παύσης είναι ήδη ορατό
self.hide()
get_tree().paused = falsefunc _on_resume_button_pressed():
# Απόκρυψη του μενού παύσης και συνέχιση του παιχνιδιού
self.hide()
get_tree().paused = falsefunc _on_menu_button_pressed():
# Επιστρέψτε στο κύριο μενού
get_tree().change_scene("res://StartMenu.tscn")
func _on_exit_button_pressed():
# Κλείστε το παιχνίδι
get_tree().quit()
Στο _έτοιμος() λειτουργία, συνδέστε το πατημένο σήμα των κουμπιών συνέχισης, αρχικής σελίδας και εξόδου στις αντίστοιχες λειτουργίες τους: _on_resume_button_pressed(), _on_menu_button_pressed(), και _on_exit_button_pressed().
Ρυθμίστε το λειτουργία_παύσης του κόμβου προς Κόμβος. PAUSE_MODE_PROCESS. Αυτό επιτρέπει στο παιχνίδι να συνεχίσει να τρέχει όσο είναι ορατό το μενού παύσης. Από προεπιλογή, αποκρύψτε το μενού παύσης χρησιμοποιώντας self.hide() και να θέσει get_tree().σε παύση προς την ψευδής για να διασφαλίσετε ότι το παιχνίδι δεν θα διακοπεί αρχικά.
Επόμενο, χρησιμοποιήστε μια δήλωση if στο _input (συμβάν) λειτουργία για να ελέγξετε εάν το ui_cancel η δράση πιέζεται. Εάν το μενού παύσης δεν είναι ορατό αυτήν τη στιγμή, μπορείτε να διακόψετε το παιχνίδι εμφανίζοντας το μενού παύσης και τη ρύθμιση get_tree().σε παύση προς την αληθής.
Δημιουργήστε ένα παιχνίδι πάνω από την οθόνη
Για να εφαρμόσετε ένα παιχνίδι πάνω από την οθόνη στο Godot, δημιουργήστε μια ξεχωριστή σκηνή που ονομάζεται GameOver.tscn να καθορίσει τα στοιχεία διεπαφής χρήστη και τη λειτουργικότητά του. Μπορείτε να προσθέσετε αυτήν τη σκηνή ως θυγατρικό κόμβο όταν ο παίκτης ξεπεράσει τα όρια της οθόνης, υποδεικνύοντας το τέλος του παιχνιδιού.
Ανοίξτε μια νέα σκηνή στο Godot και προσθέστε έναν κόμβο ελέγχου ως τη ρίζα της σκηνής. Μέσα στον κόμβο ελέγχου, προσθέστε έναν κόμβο ετικέτας για να εμφανιστεί το Τέλος παιχνιδιού κείμενο. Προσαρμόστε τη γραμματοσειρά, το μέγεθος και το χρώμα της ετικέτας σύμφωνα με το οπτικό στυλ του παιχνιδιού σας.
Στη συνέχεια, προσθέστε κόμβους κουμπιών για το Ξαναπαίζω και Εξοδος επιλογές. Τοποθετήστε τα κατάλληλα στην οθόνη.
Συνδέστε τα σήματα των κουμπιών στις αντίστοιχες λειτουργίες τους για να χειριστούν τις ενέργειες όταν κάνετε κλικ. Για παράδειγμα, συνδέστε το Ξαναπαίζω κουμπί σε μια λειτουργία που ονομάζεται onPlayAgainPressed και το Εξοδος κουμπί σε μια λειτουργία που ονομάζεται onExitPressed.
Για να χειριστείτε τη λειτουργικότητα του κουμπιού, πρέπει να ορίσετε τις αντίστοιχες λειτουργίες στον κώδικα GDScript της σκηνής του παιχνιδιού. Εδώ είναι ένα παράδειγμα:
επεκτείνει τον Έλεγχο
func _ready():
$Button.connect("πατημένο", εαυτός, "onPlayAgainPressed")
$Button2.connect("πατημένο", εαυτός, "onExitPressed")
func onPlayAgainPressed():
var gameScenePath = "res://GameScene.tscn"
get_tree().change_scene (gameScenePath)
func onExitPressed():
get_tree().quit() # Κλείστε την εφαρμογή παιχνιδιού
Μόλις ρυθμίσετε το GameOver.tscn σκηνή και καθορίσατε την απαραίτητη λειτουργία κουμπιού, μπορείτε να χρησιμοποιήσετε τον ακόλουθο κώδικα στην κύρια σκηνή του παιχνιδιού για να εμφανίσετε το παιχνίδι πάνω από την οθόνη:
επεκτείνει το KinematicBody2D
func _physics_process (δέλτα):
# Ελέγξτε εάν η συσκευή αναπαραγωγής έχει ξεπεράσει τα όρια της οθόνης
var screen_size = get_viewport_rect().size
αν velocity.y > screen_size.y ή ταχύτητα.y < 0:
show_game_over_screen()
func show_game_over_screen():
get_tree().change_scene("res://GameOver.tscn")
Η οθόνη του Game Over θα μοιάζει κάπως έτσι, με κουμπιά για επανεκκίνηση ή έξοδο από τον παίκτη:
Συμπεριλαμβανομένων πρόσθετων χαρακτηριστικών
Όταν δημιουργείτε προσαρμοσμένα μενού διεπαφής χρήστη στο Godot χρησιμοποιώντας κόμβους ελέγχου, έχετε την ευελιξία να προσθέσετε διάφορες λειτουργίες για να βελτιώσετε τη λειτουργικότητα και την οπτική ελκυστικότητα των μενού σας. Εδώ είναι μερικές ιδέες που πρέπει να εξετάσετε.
Κινούμενες μεταβάσεις
Προσθέστε ομαλές μεταβάσεις μεταξύ διαφορετικών οθονών μενού, όπως fade-in, slide-in ή εφέ κλιμάκωσης. Μπορείτε να το επιτύχετε αυτό τροποποιώντας τις ιδιότητες των κόμβων ελέγχου με την πάροδο του χρόνου χρησιμοποιώντας tweens ή προγράμματα αναπαραγωγής κινούμενων σχεδίων.
ΗΧΗΤΙΚΑ εφε
Εφαρμόστε ηχητικά εφέ για να παρέχετε ηχητική ανάδραση όταν η συσκευή αναπαραγωγής πατάει τα κουμπιά μενού. Μπορείτε να αναπαράγετε διαφορετικούς ήχους για κλικ κουμπιών, μεταβάσεις μενού ή άλλες αλληλεπιδράσεις για να κάνετε τα μενού να έχουν μεγαλύτερη απόκριση και ελκυστικότητα.
Το ενσωματωμένο ηχοσύστημα του Godot διευκολύνει την αναπαραγωγή ήχων την κατάλληλη στιγμή.
Οπτικά εφέ
Χρησιμοποιήστε shaders ή συστήματα σωματιδίων για να προσθέσετε οπτικά εφέ στα μενού σας. Για παράδειγμα, μπορείτε να εφαρμόσετε ένα διακριτικό εφέ λάμψης σε επιλεγμένα κουμπιά ή να δημιουργήσετε εφέ σωματιδίων που ενεργοποιούνται όταν προκύπτουν ορισμένες ενέργειες μενού. Αυτά τα εφέ μπορούν να προσθέσουν μια γυαλισμένη και καθηλωτική αίσθηση στη διεπαφή χρήστη σας.
Μουσική υπόκρουση
Σκεφτείτε να παίξετε μουσική υπόκρουση χωρίς πνευματικά δικαιώματα ειδικά για κάθε οθόνη μενού για να δημιουργήσετε μια πιο καθηλωτική ατμόσφαιρα. Μπορείτε να χρησιμοποιήσετε ροές ήχου ή διαύλους ήχου στο Godot για να διαχειριστείτε τη μουσική υπόκρουση και να εξασφαλίσετε απρόσκοπτη μετάβαση μεταξύ διαφορετικών κομματιών καθώς η συσκευή αναπαραγωγής περιηγείται στα μενού.
Υποστήριξη τοπικής προσαρμογής
Εάν σκοπεύετε να μεταφράσετε το παιχνίδι σας σε πολλές γλώσσες, εξετάστε το ενδεχόμενο να προσθέσετε υποστήριξη τοπικής προσαρμογής στα μενού της διεπαφής χρήστη.
Παρέχετε έναν μηχανισμό για τη δυναμική αλλαγή του περιεχομένου κειμένου των ετικετών και των κουμπιών με βάση την επιλεγμένη γλώσσα. Τα εργαλεία και οι πόροι τοπικής προσαρμογής του Godot μπορούν να βοηθήσουν στη διαχείριση πολύγλωσσων στοιχείων διεπαφής χρήστη.
Θυμηθείτε να δοκιμάσετε και να επαναλάβετε τα μενού σας με πραγματικούς χρήστες για να βεβαιωθείτε ότι οι πρόσθετες λειτουργίες βελτιώνουν τη συνολική εμπειρία χρήστη και είναι εύχρηστες στην πλοήγηση. Δώστε προσοχή στα ζητήματα απόδοσης, ειδικά όταν χρησιμοποιείτε κινούμενα σχέδια και οπτικά εφέ, για να εξασφαλίσετε ομαλές και ανταποκρινόμενες αλληλεπιδράσεις διεπαφής χρήστη.
Κάνοντας τα παιχνίδια Godot πιο ελκυστικά με το προσαρμοσμένο μενού διεπαφής χρήστη
Τα μενού προσαρμοσμένης διεπαφής χρήστη μπορούν να διαδραματίσουν κρίσιμο ρόλο στην αφοσίωση των παικτών. Παρέχουν διαισθητική πλοήγηση, επιτρέπουν την εύκολη πρόσβαση στις λειτουργίες του παιχνιδιού και βελτιώνουν τη συνολική οπτική ελκυστικότητα του παιχνιδιού σας.
Με λίγη δημιουργικότητα και λίγη κωδικοποίηση, μπορείτε να σχεδιάσετε μενού που όχι μόνο παρέχουν βασικές λειτουργίες, αλλά και συναρπάζουν τους παίκτες και βελτιώνουν τη συνολική τους εμπειρία παιχνιδιού. Ξεκινήστε, λοιπόν, να εξερευνάτε και να δημιουργείτε τα δικά σας μοναδικά μενού για να κάνετε τα παιχνίδια Godot να ξεχωρίζουν από το πλήθος.