Υλικό υπολογιστών

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> Συσκευές Εισόδου και Εξόδου

Πώς εκτυπώνετε αυτό που κάποιος πληκτρολογεί σε ένα παιχνίδι;

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

εννοιολογικά βήματα (που ισχύουν για τις περισσότερες μηχανές παιχνιδιών):

1. Χειρισμός εισόδου: Το παιχνίδι σας χρειάζεται ένα σύστημα για να καταγράψει την είσοδο του χρήστη. Αυτό συνήθως περιλαμβάνει:

* Χειρισμός συμβάντων: Ακρόαση για συμβάντα εισόδου πληκτρολογίου (πλήκτρο). Οι κινητήρες παιχνιδιών συνήθως παρέχουν λειτουργίες ή μεθόδους για την εγγραφή ακροατών για αυτά τα γεγονότα.

* buffering: Αποθηκεύοντας τους δακτυλογραφημένους χαρακτήρες σε ένα προσωρινό buffer (μεταβλητή συμβολοσειράς) έως ότου ο χρήστης υποβάλει την είσοδο (π.χ. πατώντας το ENTER).

2. Εμφάνιση του κειμένου: Μόλις υποβληθεί η είσοδος, πρέπει να την αποδώσετε στην οθόνη του παιχνιδιού. Αυτό περιλαμβάνει:

* Στοιχείο UI: Τα περισσότερα παιχνίδια χρησιμοποιούν ένα στοιχείο διεπαφής χρήστη (UI) (όπως ένα πλαίσιο κειμένου ή ετικέτα) για να εμφανίσετε το κείμενο. Μπορείτε να ενημερώσετε την ιδιότητα κειμένου αυτού του στοιχείου UI με τα περιεχόμενα του buffer εισόδου.

* Σύστημα απόδοσης του κινητήρα του παιχνιδιού: Το σύστημα απόδοσης του κινητήρα θα φροντίσει στη συνέχεια να σχεδιάσει το στοιχείο UI στην οθόνη. Οι συγκεκριμένες μέθοδοι για να γίνει αυτό εξαρτώνται εξ ολοκλήρου από τον κινητήρα (ενότητα, Unreal Engine, Godot κ.λπ.). Μπορείτε να χρησιμοποιήσετε λειτουργίες όπως `settext ()`, `text =...` ή παρόμοιες, ανάλογα με το API του συστήματος UI.

* γραμματοσειρά και στυλ: Πιθανότατα θέλετε να καθορίσετε τη γραμματοσειρά, το μέγεθος, το χρώμα και άλλες οπτικές ιδιότητες του εμφανιζόμενου κειμένου.

3. Αρχείο συνομιλίας (για πολλαπλά μηνύματα): Εάν θέλετε να διατηρήσετε ένα ιστορικό μηνυμάτων (όπως σε ένα σύστημα συνομιλίας), θα χρειαστεί:

* Αποθηκεύστε μηνύματα: Προσθέστε κάθε υποβληθείσα μήνυμα σε μια λίστα ή έναν πίνακα.

* Αρχείο καταγραφής: Ενημερώστε ένα στοιχείο UI (π.χ., μια περιοχή κειμένου ή μια προβολή λίστας) για να εμφανίσετε τα περιεχόμενα του ιστορικού μηνυμάτων.

Παράδειγμα (εννοιολογικά ψευδοκώδικα τύπου python):

`` `Python

υποθέτοντας ένα απλό παιχνίδι με βάση το κείμενο

input_buffer =""

chat_log =[]

Ενώ είναι αλήθεια:

event =get_input_event () # Λήψη εισόδου από τη μηχανή παιχνιδιών

αν συμβάν.type ==key_press:

αν συμβάν.key ==key_enter:

# Υποβολή εισόδου

chat_log.append (input_buffer)

print_to_screen ("πληκτρολογήσατε:" + input_buffer) # ή ενημερώστε το στοιχείο UI

input_buffer =""

ELIF event.key ==key_backspace:

# Χειριστείτε το backspace

input_buffer =input_buffer [:-1]

αλλού:

# Προσθήκη χαρακτήρα στο buffer

input_buffer +=event.character

# Ενημερώστε την οθόνη καταγραφής συνομιλίας (Ενημέρωση στοιχείου UI με περιεχόμενο chat_log)

update_chat_log_display (chat_log)

`` `

Παραδείγματα ειδικών για τον κινητήρα:

Θα χρειαστεί να προσαρμόσετε αυτό το ψευδοκώδικα, ανάλογα με τη μηχανή παιχνιδιών σας. Για παράδειγμα:

* Unity (C#): Θα χρησιμοποιούσατε το σύστημα UI της Unity (συνήθως με εξαρτήματα κειμένου) και μηχανισμούς χειρισμού συμβάντων.

* Unreal Engine (C ++): Θα χρησιμοποιούσατε τα γραφικά στοιχεία και το σύστημα εισόδου του UNEAL.

* Godot (GDScript): Θα συνεργαστείτε με τους κόμβους UI του Godot (όπως το `lineedit` και το` texteditit ') και τα σήματα τους.

Για να δώσω μια πιο συγκεκριμένη απάντηση, πείτε μου:

* Ποια μηχανή παιχνιδιών χρησιμοποιείτε;

* Ποια γλώσσα προγραμματισμού χρησιμοποιείτε;

* Τι είδους ui χρησιμοποιείτε; (π.χ. ενσωματωμένο σύστημα UI, προσαρμοσμένο UI)

Με περισσότερες λεπτομέρειες, μπορώ να σας δώσω πολύ πιο προσαρμοσμένα και χρήσιμα παραδείγματα κώδικα.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα