background image

 

 

 

65

 

ΑΝΑΠΤΥΞΗ  3D ΣΚΟΠΕΥΤΙΚΟΥ  ΠΑΙΧΝΙΔΙΟΥ  ΤΡΙΤΟΥ  ΠΡΟΣΩΠΟΥ  ΠΟΛΛΑΠΛΩΝ 
ΠΑΙΚΤΩΝ  ΤΥΠΟΥ  ROGUELITE 

4.2.1 Συγχρονισμός παικτών 

 

Τα  scripts  υπεύθυνα  για  τον  συγχρονισμό  των  παικτών  είναι  τα:  PlayerManager.cs, 

PlayerStats.cs, PlayerUI.cs, ThirdPersonController.cs και CameraScript.cs. 
 

Στο script PlayerManager.cs όταν αρχίζει το παιχνίδι καλούμε την συνάρτηση Spawn() και 

επιλέγουμε ένα τυχαίο σημείο και ένα τυχαίο μοντέλο, για να δημιουργήσουμε τον παίκτη με την 
συνάρτηση  PhotonNetwork.Instantiate(),  όπου  στην  συνάρτηση  αυτή  εισάγουμε  ως  παράμετρο 
το  μοντέλο,  την  τοποθεσία,  και  την  περιστροφή.  Για  την  περιστροφή  δίνουμε  την  τιμή 
Quaternion.identity για να παραμείνει η πρωτότυπη περιστροφή του μοντέλου. Χρησιμοποιούμε 
την PhotonNetwork.Instantiate της Photon, επειδή πρέπει το μοντέλο να ανήκει στον παίκτη που 
μπήκε  στο  παιχνίδι,  αλλά  και  επειδή  το  αντικείμενο  του  παίκτη  περιέχει  ένα  PhotonView,  άρα 
είναι και δικτυωμένο αντικείμενο. Επίσης αποθηκεύουμε τα στατιστικά του παίκτη από ένα άλλο 
script, το PlayerStats.cs, για τους επόμενους ελέγχους (Εικόνα 57). 

 

 

Εικόνα 57 Δημιουργία παίκτη από το PlayerManager 

 

Σε  κάθε  καρέ  γίνεται  ο  έλεγχος  για  τους  πόντους  ζωής  του  παίκτη  για  να  εντοπιστεί  η 

στιγμή που θα χάσει, για να εκτελεστεί η συνάρτηση Die(). Ταυτόχρονα γίνεται και ο έλεγχος για 
την  περίπτωση  που  ο  παίκτης  καταφέρει  να  κερδίσει,  για  να  εκτελεστεί  η  συνάρτηση  Victory() 
(Εικόνα 58)

 

Εικόνα 58 Έλεγχος συνθηκών για την ήττα ή την νίκη του παίκτη