Πίνακας περιεχομένων:
- Κωδικός παραδείγματος για ένα συμβάν πληκτρολογίου επάνω για την εφαρμογή τοπικής δύναμης
- Κωδικός παραδειγμάτων για συμβάντα πληκτρολογίου αριστερά και δεξιά
Βίντεο: Καθαρισμός του παχέος εντέρου με θεραπευτικά βότανα 2024
Στο GameMaker: Studio, παίρνετε το Object σας καθορισμένο για τη φυσική, ίσως θελήσετε να επιτρέψετε στον παίκτη να μετακινήσει το αντικείμενο γύρω από το δωμάτιο κατά τη διάρκεια του παιχνιδιού. Οι ακόλουθες δύο ενότητες δείχνουν πώς μπορείτε να προσθέσετε κίνηση σε ένα αντικείμενο καθώς και να κάνετε μια στροφή αντικειμένου αριστερά ή δεξιά.
Κωδικός παραδείγματος για ένα συμβάν πληκτρολογίου επάνω για την εφαρμογή τοπικής δύναμης
Για να εφαρμόσετε δύναμη σε ένα αντικείμενο για να το μετακινήσετε, δημιουργήστε ένα συμβάν πληκτρολογίου Up όπως περιγράφεται στην παρακάτω διαδικασία. Ακολουθήστε τα εξής βήματα:
-
Από το δέντρο πόρων, κάντε διπλό κλικ στο αντικείμενο obj_player ή σε άλλο σχετικό αντικείμενο.
Εμφανίζεται το παράθυρο Ιδιότητες αντικειμένου.
-
Επιλέξτε Προσθήκη συμβάντος → Πληκτρολόγιο → Επάνω.
Ένα συμβάν πληκτρολογίου επάνω εμφανίζεται στην ενότητα Συμβάντα.
-
Μεταφέρετε και αποθέστε μια ενέργεια Εκτέλεση κώδικα από την καρτέλα Control στο παράθυρο "Ενέργειες".
Εμφανίζεται ένα κενό παράθυρο κώδικα.
-
Στο παράθυρο κώδικα πληκτρολογήστε τον ακόλουθο κώδικα:
physics_apply_local_force (0, 0, 0, -50).
-
Κάντε κλικ στο πράσινο σημάδι επιλογής.
Το παράθυρο κώδικα αποθηκεύεται και κλείνεται.
Αυτός ο κώδικας χρησιμοποιεί το τοπικό σύστημα συντεταγμένων για να ορίσει ένα διάνυσμα για πρόωση. Οι τοπικές συντεταγμένες βασίζονται στο Sprite, όπου οι άξονες X και Y συναντώνται στο Origin. Έτσι, ανεξάρτητα από τον τρόπο που το Object περιστρέφεται στο δωμάτιο, η προέλευση του Sprite δεν αλλάζει ποτέ. Με αυτό τον τρόπο, το Χ = 0, το Y = -1 θα ήταν πάντα ακριβώς κάτω από το Sprite, όπως φαίνεται σε αυτό το σχήμα.
Η πρώτη τιμή σε αυτή τη συνάρτηση είναι για το xlocal, η δεύτερη τιμή είναι ylocal, η τρίτη είναι η xforce_local και η τελευταία τιμή αντιπροσωπεύει το yforce_local. Χρησιμοποιώντας την τιμή -50 ως τιμή για το yforce_local, τοποθετείτε δύναμη πίσω από το πλοίο που ωθεί το πλοίο προς τα εμπρός.
Το μέγεθος της δύναμης βασίζεται στην τιμή, οπότε ένας μεγαλύτερος αριθμός τοποθετεί μεγαλύτερη δύναμη. Πειραματιστείτε με αυτό αλλάζοντας την τιμή από -50 σε -5000 για να δείτε τι κάνει η διαφορά. Εάν χρησιμοποιείτε έναν θετικό αριθμό (ας πούμε, 50), παρατηρήστε ότι το πλοίο φαίνεται να κινείται προς τα πίσω αντί προς τα εμπρός.
Οι τοπικές συντεταγμένες βασίζονται στην προέλευση του Sprite όπως υποδηλώνεται από τον κόκκινο κύκλο.Κωδικός παραδειγμάτων για συμβάντα πληκτρολογίου αριστερά και δεξιά
Για να ενεργοποιήσετε τη συσκευή αναπαραγωγής για να μετακινήσετε το αντικείμενο, προσθέστε συμβάντα πληκτρολογίου αριστερά και δεξιά. Για να έχει ο παίκτης να γυρίσει το Object προς τα αριστερά, ακολουθήστε τα εξής βήματα:
-
Από το δέντρο πόρων, κάντε διπλό κλικ στο αντικείμενο obj_player ή σε άλλο σχετικό αντικείμενο.
Εμφανίζεται το παράθυρο Ιδιότητες αντικειμένου.
-
Επιλέξτε Προσθήκη συμβάντος → Πληκτρολόγιο → Αριστερά.
Ένα συμβάν αριστερού πληκτρολογίου εμφανίζεται στην ενότητα Συμβάντα.
-
Μεταφέρετε και αποθέστε μια ενέργεια Εκτέλεση κώδικα από την καρτέλα Control στο παράθυρο "Ενέργειες".
Εμφανίζεται ένα κενό παράθυρο κώδικα.
-
Στο παράθυρο κώδικα, πληκτρολογήστε τον ακόλουθο κώδικα:
phy_angular_velocity = 0; phy_rotation- = 10;
-
Κάντε κλικ στο πράσινο σημάδι επιλογής.
Το παράθυρο κώδικα αποθηκεύεται και κλείνεται.
Κατά τη διάρκεια του παιχνιδιού, ο παίκτης μπορεί να γυρίσει τώρα το αντικείμενο προς τα αριστερά. Αυτός ο κώδικας προσθέτει ή αφαιρεί από την περιστροφή της φυσικής, η οποία ελέγχει την κατεύθυνση και τη γωνία εικόνας του αντικειμένου, όταν ο παίκτης πιέσει το πλήκτρο βέλους αριστερά.
Για να έχει ο παίκτης να γυρίσει το Object προς τα δεξιά, ακολουθήστε τα εξής βήματα:
-
Από το δέντρο πόρων, κάντε διπλό κλικ στο Object obj_player (ή σε άλλο σχετικό αντικείμενο).
Εμφανίζεται το παράθυρο Ιδιότητες αντικειμένου.
-
Επιλέξτε Προσθήκη συμβάντος → Πληκτρολόγιο → Δεξιά.
Εμφανίζεται ένα συμβάν δεξί πληκτρολογίου στην ενότητα Συμβάντα.
-
Μεταφέρετε και αποθέστε μια ενέργεια Εκτέλεση κώδικα από την καρτέλα Control στο παράθυρο "Ενέργειες".
Εμφανίζεται ένα κενό παράθυρο κώδικα.
-
Στο παράθυρο κώδικα, πληκτρολογήστε τον ακόλουθο κώδικα:
phy_angular_velocity = 0; phy_rotation + = 10;
-
Κάντε κλικ στο πράσινο σημάδι επιλογής.
Το παράθυρο κώδικα αποθηκεύεται και κλείνεται. Αυτός ο κώδικας προσθέτει ή αφαιρεί από την περιστροφή της φυσικής, που ελέγχει την κατεύθυνση και τη γωνία εικόνας του αντικειμένου όταν ο παίκτης πιέζει το πλήκτρο με το δεξιό βέλος.
Θα μπορούσατε να δώσετε στο Object μια πιο φυσική στροφή χρησιμοποιώντας το physics_apply_torque για να περιστρέψετε το Object χρησιμοποιώντας ροπή , που είναι η δύναμη περιστροφής. Η ροπή λαμβάνει υπόψη τη μάζα του αντικειμένου και κάνει τη στροφή πιο αργή, σαν ένα πραγματικό αντικείμενο. Ωστόσο, σε ένα παιχνίδι, δεν θέλετε πάντα να είναι πολύ αληθινό (τελικά, είναι ένα παιχνίδι).
Μια άλλη διαφορά μεταξύ του κόσμου της φυσικής στο GameMaker: Studio και των παραδοσιακών λειτουργιών είναι ότι κανονικά η κατεύθυνση και η γωνία εικόνας υπολογίζονται αριστερόστροφα, οπότε η προσθήκη 10 στη μεταβλητή κατεύθυνσης θα περιστρέφει το αντικείμενο προς τα αριστερά. Ωστόσο, όταν χρησιμοποιείτε τη φυσική, οι κατευθύνσεις και οι γωνίες υπολογίζονται δεξιόστροφα, έτσι η προσθήκη 10 στην περιστροφική τιμή περιστρέφει το Object προς τα δεξιά.