Το να γνωρίζετε πώς να αποκτήσετε πρόσβαση στις συντεταγμένες του παίκτη στο Roblox μπορεί να είναι μια περίπλοκη και ασαφής διαδικασία. Ωστόσο, εάν βρείτε έναν τρόπο να προσεγγίσετε τις συντεταγμένες και να τις χειριστείτε, θα έχετε μια σταθερή βάση για να χρησιμοποιήσετε άλλες δημιουργικές λειτουργίες του παιχνιδιού και να δοκιμάσετε τις προγραμματιστικές σας δεξιότητες.
Σε αυτό το άρθρο, θα σας δείξουμε πώς να βρείτε τις συντεταγμένες του παίκτη στο Roblox.
Πώς αποκτάτε συντεταγμένες στο Roblox;
Για να βρείτε συντεταγμένες χαρακτήρων, αντικειμένων και τοποθεσιών, πρέπει να μάθετε πώς να κάνετε σενάρια στο Roblox Studio. Αυτή η πλατφόρμα σάς δίνει τη δυνατότητα να δημιουργήσετε κόσμους και περιοχές δικούς σας και να τους προσαρμόσετε σύμφωνα με τις προτιμήσεις σας.
Καθώς κάνετε σενάριο, θα χρειαστεί να χρησιμοποιήσετε βασικές πληροφορίες που σας επιτρέπουν να μεγιστοποιήσετε τις δυνατότητες του σεναρίου στούντιο. Ένα καλό παράδειγμα τέτοιων δεδομένων είναι οι συντεταγμένες, δηλαδή οι θέσεις παικτών.
Για να φτάσετε στη θέση ενός παίκτη (από την πλευρά του διακομιστή) θα χρειαστεί να μεταβείτε στην ιδιότητα χαρακτήρα του παίκτη. (παίκτης.Χαρακτήρας). Αλλά πριν από αυτό, θα πρέπει να βρείτε το αντικείμενο του παίκτη. Μπορείτε να το κάνετε αυτό αποκτώντας το αντικείμενο του προγράμματος αναπαραγωγής τη στιγμή που εισέρχονται στον διακομιστή με ένα συνηθισμένο σενάριο κάπου στον χώρο εργασίας σας.
Εάν το παιχνίδι σας διαθέτει μόνο έναν παίκτη, μπορείτε να τοποθετήσετε το αντικείμενο του παίκτη στο κοντέινερ αντικειμένου σας. Αυτό το κοντέινερ είναι προσβάσιμο κάθε φορά που αναζητάτε την αξία του σε ένα από τα σενάρια του διακομιστή σας.
Για να απεικονίσει:
game.Players.PlayerAdded:Connect(function(player) workspace.Data.Player.Value = τέλος παίκτη)
Τα "Δεδομένα" αντιπροσωπεύουν έναν φάκελο που τοποθετείται στον Χώρο εργασίας σας και το "Player" αντιπροσωπεύει το κοντέινερ ObjectValue με τίτλο "Player", σκοπός του οποίου είναι να αποθηκεύσει το αντικείμενο του προγράμματος αναπαραγωγής.
Αλλά αυτός ο κωδικός δεν είναι η μόνη σας επιλογή. Μη διστάσετε να το ονομάσετε ή να το τροποποιήσετε σύμφωνα με τις προτιμήσεις σας ή να τοποθετήστε το αντικείμενο αναπαραγωγής όπως θέλετε.
Αυτό το σενάριο εκτελείται μόλις ένας παίκτης μπει σε ένα παιχνίδι. Στην περίπτωση ενός παιχνιδιού για έναν παίκτη, ο διακομιστής έχει μόνο έναν παίκτη. Ωστόσο, μπορείτε να τροποποιήσετε τον κωδικό ώστε να ακολουθείτε τους άλλους παίκτες με όποιον τρόπο θέλετε.
Για να προσεγγίσετε τις ιδιότητες του προγράμματος αναπαραγωγής, μαζί με τη θέση του, θα ήταν το κανονικό σας σενάριο:
local player = Workspace.Data.Player.Value – Λαμβάνει το αντικείμενο του προγράμματος αναπαραγωγής και το αποθηκεύει στη μεταβλητή «player»
local var = player.Character.UpperTorso.Position — Λαμβάνει θέση vector3
Τι γίνεται με την επίτευξη μεμονωμένων συντεταγμένων;
Μπορείτε να αποκτήσετε πρόσβαση στις συντεταγμένες X, Y, Z ως εξής:
local varX = player.Character.UpperTorso.Position.X local varY = player.Character.UpperTorso.Position.Y local varZ = player.Character.UpperTorso.Position.Z
Εδώ, μπορείτε να χρησιμοποιήσετε το UpperTorso για να αναπαραστήσετε τα ανθρωποειδή R15. Ως αποτέλεσμα, μπορεί να μην κάνει το κόλπο για μοντέλα Humanoid εκτός από το R15.
Μπορώ να επιλέξω άλλα μέρη του σώματος για παρακολούθηση;
Τα μέρη του σώματος που μπορείτε να ακολουθήσετε δεν προορίζονται μόνο για το UpperTorso. Δείτε πώς μπορείτε να αποκτήσετε πρόσβαση σε επιπλέον:
- Χρησιμοποιήστε το Developer Studio για να ανοίξετε το παιχνίδι σας.
- Ενώ το παιχνίδι είναι ανοιχτό, επιλέξτε StarterPlayer.
- Μεταβείτε στο HumanoidDefaultBodyParts (βρείτε το χρησιμοποιώντας την "Προβολή Εξερεύνησης").
- Αυτό θα εμφανίσει μια λίστα με μέρη του σώματος που επιτρέπουν την παρακολούθηση.
(Δικαιώματα: Derrick Bouchard – //gamedev.stackexchange.com/users/138624/derrick-bouchard).
Μπορείτε να χρησιμοποιήσετε συντεταγμένες για τηλεμεταφορά κάπου;
Τώρα που ανακαλύψατε πώς να αποκαλύπτετε συντεταγμένες στο Roblox, θα θέλετε να μάθετε αν υπάρχουν ευφάνταστες δραστηριότητες για τις οποίες μπορείτε να χρησιμοποιήσετε αυτή τη γνώση. Για παράδειγμα, μπορείτε να διευκολύνετε την τηλεμεταφορά εάν έχετε ανακτήσει τη θέση του δρομέα σας. Εδώ είναι ένας απλός τρόπος για να το κάνετε:
target = game.Players.LocalPlayer:GetMouse() .Hit x = target.X y = target.Y z = target.Z game.Players.LocalPlayer.Character:MoveTo(Vector3.new(x,y,z))
(Δικαιώματα: συχνά – //www.roblox.com/users/234079075/profile).
Πώς εκτελείται γενικά η τηλεμεταφορά στο Roblox;
Η τηλεμεταφορά είναι μακράν ένα από τα πιο χρήσιμα χαρακτηριστικά του Roblox. Επιτρέπει στους παίκτες να μετακινούνται γρήγορα σε μεγάλους χάρτες και έτσι επιτρέπουν πολύ περισσότερη αλληλεπίδραση.
Ωστόσο, η σωστή εκτέλεση μπορεί να είναι δύσκολη, ειδικά αν είστε νέοι στο σενάριο. Ένα από τα πιο κοινά προβλήματα που μπορεί να παρουσιαστούν κατά την τηλεμεταφορά είναι η θραύση του μοντέλου. Για παράδειγμα, αν χρησιμοποιούσατε το ακόλουθο σενάριο, θα διαχωρίζατε το κεφάλι από τον κορμό:
παιχνίδι.Workspace.Player.Torso.Position = Vector3.new(0, 50, 0)
Αντίθετα, πρέπει να χρησιμοποιήσετε την ιδιότητα CFframe και τον τύπο δεδομένων CFframe. Αυτός είναι ο τρόπος για να το κάνετε και να τηλεμεταφέρετε σωστά έναν παίκτη:
game.Workspace.Player.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0, 50, 0))
Είναι δυνατή η τηλεμεταφορά όλων των παικτών;
Μπορείτε να τηλεμεταφέρετε όλους τους παίκτες σε έναν χάρτη. Ωστόσο, πρέπει να είστε προσεκτικοί με τις θέσεις-στόχους για να διατηρήσετε ανέπαφο τον κορμό των παικτών. Δείτε πώς θα μοιάζει ο κώδικας:
1. target = CFrame.new(0, 50, 0) --θα μπορούσε να είναι κοντά σε ένα τούβλο ή σε μια νέα περιοχή 2. για i, παίκτης σε ζευγάρια(παιχνίδι.Παίκτες:GetChildren()) κάνει 3. --Βεβαιωθείτε ο χαρακτήρας υπάρχει και το HumanoidRootPart του υπάρχει 4. εάν παίκτης.Χαρακτήρας και παίκτης.Χαρακτήρας:FindFirstChild("HumanoidRootPart") τότε 5. --προσθέστε μια μετατόπιση 5 για κάθε χαρακτήρα 6. player.Character.HumanoidRootPart.CFrame3 = target + Vector .new(0, i * 5, 0) 7. end 8. end
Η πολλή δουλειά οδηγεί σε πολλή διασκέδαση
Όλη η κωδικοποίηση που χρησιμοποιείται για την εκτέλεση ενεργειών όπως η απόκτηση συντεταγμένων και η τηλεμεταφορά μπορεί να σας κάνει να πιστεύετε ότι το Roblox δεν αξίζει τον κόπο. Ωστόσο, η κωδικοποίηση σάς δίνει τη δυνατότητα να ενορχηστρώνετε τα ξεχωριστά παιχνίδια και τις πραγματικότητες σας. Όχι μόνο αυτό είναι εξαιρετικά ωφέλιμο μακροπρόθεσμα, αλλά μπορεί επίσης να μετατραπεί στη δραστηριότητα αναψυχής σας.
Έχετε δοκιμάσει τις δυνάμεις σας στην κωδικοποίηση στο Roblox; Πώς πήγε? Ενημερώστε μας στην παρακάτω ενότητα σχολίων;