Βήμα 2: Προσθέτοντας entities στη σκηνή

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

Η κάθε σκηνή αποτελείται από ένα ή περισσότερα γραφικά αντικείμενα που ονομάζονται "entities". Στην σκηνή που έχουμε ήδη δημιουργήσει το φόντο είναι μία entity η οποία έχει δημιουργηθεί αυτόματα από τον ProjectMan. Θα έχετε όμως παρατηρήσει ότι ο χαρακτήρας μας περνάει επάνω από τα έπιπλα κάτι που δεν είναι σωστό. Αυτό που χρειαζόμαστε είναι κάποια αντικείμενα της σκηνής να βρίσκονται μπροστά από τον χαρακτήρα μας όταν αυτό χρειαστεί. Για παράδειγμα, όταν ο ήρωας στέκεται πίσω από το γραφείο, πρέπει αυτό να τον υπερκαλύπτει. Όλα τα αντικείμενα που πρέπει να υπερκαλύπτουν τον ήρωα πρέπει να δημιουργηθούν ως ξεχωριστές entities.

Πρέπει λοιπόν να δημιουργήσουμε μία entity για το αντικείμενο "desk" (γραφείο) έτσι ώστε να υπάρξει το επιθυμητό αποτέλεσμα.

Αρχικά χρειαζόμαστε τη γραφική εικόνα για το γραφείο, που σε αυτή την περίπτωση είναι ήδη έτοιμη με το όνομα "tutorial\gfx\desk.bmp". Εισάγετε το αρχείο στο φάκελο της σκηνής μας (όπως έχουμε ήδη μάθει στο βήμα 1) και ανοίξτε τη σκηνή στον SceneEdit.

Επιλέξτε το layer "main" και κάντε κλικ στο κουμπί "Add entity -> Sprite entity". Η "sprite entity" μπορεί να περιέχει γραφικά (ένα sprite). Θα μάθουμε για άλλες κατηγορίες entities αργότερα.

 

Με αυτό το τρόπο δημιουργήσαμε μία κενή entity με το το όνομα "new entity" που μπορούμε να τη δούμε στο παράθυρο προεπισκόπισης ως ένα κενό κόκκινο πεδίο. Το επόμενο βήμα είναι να αλλάξουμε τις παραμέτρους της από το παράθυρο ρυθμίσεων (που είχαμε δει στο Βήμα 1). Αλλάξτε το όνομά της σε "desk" και αν θέλετε μπορείτε να αλλάξετε και τη ρύθμιση "caption" σε "desk" (αυτή η παράμετρος λέει στη μηχανή με τι όνομα θα αναγνωρίζει το συγκεκριμένο αντικείμενο). Στη συνέχεια πρέπει να εισάγουμε στην entity την γραφική εικόνα του γραφείου, στην παράμετρο "Sprite". Κάντε κλικ στο κουμπί αριστερά της παραμέτρου και θα ανοίξει ένα παράθυρο, στο οποίο πρέπει να εντοπίσουμε το αρχείο "desk.bmp" στην θέση όπου το είχαμε τοποθετήσει προηγουμένως (scenes\MyScene). Αφού επιλέξουμε το αρχείο θα πρέπει να δούμε το γραφείο να εμφανίζεται στο παράθυρο προεπισκόπισης. Προς το παρόν δεν θα ασχοληθούμε με τις υπόλοιπες παραμέτρους.

Μπορείτε να μετακινήσετε την entity στη σωστή θέση με τη χρήση του ποντικιού. Στην συγκεκριμένη περίπτωση η σωστή θέση είναι 432,327.


Υπόδειξη

Μπορείτε επίσης να χρησιμοποιήσετε τα βελάκια στο πληκτρολόγιο για τη μετακίνηση των αντικειμένων στο παράθυρο προεπισκόπισης. Με αυτό το τρόπο μπορείτε να επιτύχετε μεγαλύτερη ακρίβεια, ενώ κρατώντας πατημένο το πλήκτρο SHIFT η μετακίνηση θα γίνεται ανά 5 εικονοστοιχεία τη φορά. 

Πλέον η λίστα με τους κόμβους θα πρέπει να δείχνει όπως στην εικόνα που ακολουθεί. Αν η σειρά των κόμβων είναι διαφορετική μπορείτε να τους μετακινήσετε με τα βελάκια:


Η σειρά των κόμβων είναι πολύ σημαντική καθώς λέει στη μηχανή με ποια σειρά πρέπει να σχεδιαστούν τα αντικείμενα στην σκηνή (όσα είναι επάνω έχουν προτεραιότητα).

Προς το παρόν η σειρά των κόμβων είναι η ακόλουθη:

Κάτι το οποίο σημαίνει ότι κατά την εκτέλεση του παιχνιδιού η μηχανή θα κάνει τις απαιτούμενες ενέργειες με την ακόλουθη σειρά:

Σώστε τη σκηνή και κλείστε τον SceneEdit. Τρέξτε το παιχνίδι για να δοκιμάσετε την σκηνή που φτιάξατε. Θα δείτε ότι ο χαρακτήρας είναι σχεδιασμένος επάνω από το φόντο αλλά και το γραφείο, κάτι το οποίο είναι ασφαλώς λάθος.

Μπορείτε να αλλάξετε την σειρά των κόμβων για να δείτε πως θα επηρεαστεί το παιχνίδι. Για παράδειγμα βάλτε τα με αυτή τη σειρά:

Σε αυτή την περίπτωση το γραφείο θα είναι πάντα μπροστά από το χαρακτήρα. Κάτι το οποίο είναι και πάλι λάθος καθώς το σωστό είναι το γραφείο να υπερκαλύπτει τον χαρακτήρα μόνο όταν αυτός βρίσκεται πίσω από το γραφείο. Αυτό θα διορθωθεί στην επόμενη παράγραφο, Βήμα 3: Διαρρύθμιση & δόμηση της σκηνής.

Σημείωση: ίσως να παρατηρήσατε ήδη ότι το γραφείο λειτουργεί σαν διαδραστικό αντικείμενο. Αν μετακινήσετε τον κέρσορα του ποντικιού κάνω από αυτό θα δείτε την περιγραφή "desk" να εμφανίζεται.