Page 134 - PC Master τ. 288

PC Master
134
ρετική περίπτωση, πατήστε Ctrl+X για να
μεταφερθείτε. Θυμίζουμε πως για να είναι
εφικτά όλα αυτά, θα πρέπει να είναι ενερ-
γοποιημένη η επιλογή Enable Debug
Mode στην κατηγορία Compiler των
General Settings. Στο παιχνίδι μας, λοι-
πόν, θα πρέπει ο Chris να μπορεί να πάρει
το φάκελο και να τον εξετάσει στο
inventory του.
CLOSE UP VIEW ΤΩΝ
ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΑΣ
Ας αρχίσουμε να προβληματιζόμαστε
για το πώς θα εμπλουτίσουμε το
inventory μας με επιπλέον λειτουργίες.
Πώς θα διαβάσει ο Chris το φάκελο; Μία
λύση θα ήταν να προσθέταμε μία σειρά
από προτάσεις της συνάρτησης Display, οι
οποίες θα περιγράφουν το περιεχόμενό
του. Μία άλλη σκέψη είναι να βάλουμε
τον ίδιο τον Chris να το διαβάσει με εντο-
λές Say. Γιατί, όμως, να μη δώσουμε τη
δυνατότητα στον παίκτη να δει ολόκληρο
το περιεχόμενο στο πλήρες εύρος της
οθόνης; Για να γίνει αυτό με το φάκελο
αλλά και άλλα αντικείμενα της επιλογής
μας, θα πρέπει όταν ο παίκτης κάνει
interact πάνω σε κάποια συγκεκριμένα
inventory objects να οδηγείται σε ένα νέο
δωμάτιο. Αυτό θα απεικονίζει τη μεγεθυ-
σμένη εικόνα του αντικειμένου σε οπτική
πρώτου προσώπου. Μπορείτε αν θέλετε
να αναγράφεται κάπου και η λέξη Exit,
ώστε πατώντας πάνω της να εξέρχεται ο
παίκτης από το δωμάτιο.
Σχεδιάστε το σχετικό γραφικό στην ίδια
ανάλυση που θα φτιάχνατε ένα οποιοδή-
ποτε άλλο δωμάτιο του παιχνιδιού, χωρίς
βέβαια την επιπρόσθετη δυνατότητα
scrolling. Όπως κάνατε προηγουμένως,
πατήσετε το δεξί mouse button στην επι-
λογή Rooms του Project Tree και κάντε
New Room->Blank Room. Στο Project
Grid, γράψτε στα Properties Mystery
Folder εκεί που γράφει Description, και
αλλάξτε την επιλογή
ShowPlayerCharacter σε False. Πατήστε
στο πλήκτρο Change δίπλα στο Main
Background και επιλέξτε την αντίστοιχη
background picture. Για να δούμε τώρα
με ποια διαδικασία θα ανοίγει ο παίκτης
το φάκελο. Πηγαίνετε πάλι στο αντίστοι-
χο inventory item και συγκεκριμένα στα
Events του στο Project Grid. Πατήστε πά-
νω στο κουμπί δίπλα στο Interact
Inventory Item. Στη συνάρτηση function
ifolder_Interact() που θα δημιουργηθεί,
πληκτρολογήστε:
if (player.Room==11) Display(“You are
already reading the folder!”);
else {
gInventory.Visible=false;
player.ChangeRoom(11);
}
Όπως παρατηρείτε από τις παραπάνω
γραμμές, εξετάζουμε αν ο παίκτης βρί-
σκεται ήδη στο δωμάτιο του ανοιχτού φα-
κέλου. Αν δεν ισχύει κάτι τέτοιο, πρώτα
κλείνουμε το παράθυρο του inventory και
μετά αλλάζουμε room. Απομένει να ορί-
σουμε πώς θα ξανακλείσει ο φάκελος.
Στην οθόνη του δωματίου επιλέξτε Show
this room’s: Hotspots και σχεδιάστε την
περιοχή γύρω από τη λέξη Exit της εικό-
νας. Στην συνέχεια, από το Project Grid
στα Properties αλλάξτε το Description σε
Exit και το Name σε hExit. Πατήστε στο
Events και στο κουμπί δίπλα στο Interact
hotspot. Στη συνάρτηση hExit_Interact()
που θα δημιουργηθεί, πληκτρολογήστε:
player.ChangeRoom(cChris.Previous
Room);
Όπως είναι προφανές από το όνομά
της, η read only τιμή PreviousRoom μάς
δίνει το δωμάτιο του προηγούμενου δω-
ματίου στο οποίο βρισκόταν ο χαρακτή-
ρας μας.
ΕΝΑΛΛΑΚΤΙΚΕΣ ΠΡΟΤΑΣΕΙΣ
Στην περίπτωση που χρησιμοποιούμε
κάποιο user interface ενός μόνο cursor ή
που δεν έχει χωριστό icon για να κάνεις
use πάνω σε inventory item και μπορείς
μόνο να το πάρεις, μία εναλλακτική λύση
που μπορεί να μας δώσει το ίδιο αποτέλε-
σμα είναι να εξετάζουμε λεπτομερώς τα
αντικείμενά μας, κάνοντας κλικ με αυτά
πάνω στο χαρακτήρα μας. Μάλιστα, μπο-
ρούμε κάλλιστα να δίνουμε στον παίκτη
TO TIP ΤΟΥ ΜΗΝΑ
Όσο πιο πολλούς NPCs (non-player characters) έχετε στο παιχνίδι σας τόσο πι-
θανότερο είναι να σας ταλαιπωρεί το scaling τους. Ειδικά αν συμπεριλαμβάνετε
οθόνες στις οποίες τα walking paths έχουν μεταβλητό zoom, μπορεί να χρεια-
στεί να σχεδιάζετε τα sprites σας ξανά και ξανά, ώστε να φαίνονται όλα με σω-
στές αναλογίες στην οθόνη. Ο επανασχεδιασμός των sprites είναι χρονοβόρα
και επίπονη διαδικασία, ενώ αναγκάζεστε να ζωγραφίζετε όλους τους χαρακτή-
ρες στο μέγεθος του πρωταγωνιστή, για να απεικονίζονται καλώς όταν βρίσκο-
νται στην ίδια οθόνη. Φανταστείτε ένα στιγμιότυπο κατά το οποίο ο Chris φαίνε-
ται σωστά στο δωμάτιο, αν το zoom είναι στο 70%, αλλά ο συνομιλητής του μι-
κραίνει απελπιστικά σε αυτή την αναλογία. Ένας πονηρός τρόπος για να γλιτώ-
σετε από αυτήν τη διαδικασία είναι να δημιουργείτε χωριστά walkable areas για
κάθε χαρακτήρα, φροντίζοντας να απέχουν μόλις λίγα pixels μεταξύ τους χωρίς
να επικαλύπτονται. Έτσι, θα μπορείτε να ορίζετε στον καθένα το επιθυμητό
zoom level.
Προσθέτουμε το φάκελο στα αντικείμενα που χρησιμοποιούνται στον Chris.
Η close-up όψη του folder.