Παράθυρα και άλλα αντικείμενα ελέγχου
Παράθυρα
Τα παράθυρα είναι η βάση όλων των αντικειμένων που διαθέτει η WME για την δημιουργία ενός πλήρους διαδραστικού γραφικού περιβάλλοντος. Φανταστείτε το σαν ένα ορθογώνιο πλαίσιο στην οθόνη σας που μπορεί να περιλαμβάνει άλλα αντικείμενα ή ακόμα και άλλα παράθυρα. Η γραφική αναπαράσταση ενός παραθύρου είναι πλήρως παραμετροποιήσιμη ώστε να μπορείτε να τους δώσετε ό,τι εμφάνιση θέλετε ώστε να ταιριάζει στο παιχνίδι σας.
Τα παράθυρα προσδιορίζονται μέσα από ένα απλό αρχείο κειμένου με την κατάληξη .window. Ας δούμε όμως τη δομή ενός τέτοιου αρχείου. Αρχικά υπάρχει ο τίτλος και στη συνέχεια οι ιδιότητες του παραθύρου. Υπάρχουν πολύ παράμετροι διαθέσιμοι αλλά δεν χρειάζεται να τους χρησιμοποιήσετε όλους καθώς οι περισσότεροι έχουν κάποια προκαθορισμένη τιμή. Είναι απαραίτητο να ορίσετε μόνο τις ιδιότητες που θέλετε να αλλάξετε σε σχέση με τις τιμές που ήδη έχουν.
WINDOW
{
NAME = "MyWindow"
TEMPLATE = "templates\MyTemplate.window"
; θέση και μέγεθος
X = 200
Y = 200
WIDTH = 240
HEIGHT = 150
; κατάσταση παραθύρου
VISIBLE = TRUE
DISABLED = FALSE
; τίτλος
TITLE = "Το καινούριο μου παράθυρο"
TITLE_RECT { 5,5,235,45 }
TITLE_ALIGN = left
DRAG_RECT { 0,0,215,25 }
; φόντο
BACK = "path\window.image"
BACK_INACTIVE = "path\window_inactive.image"
IMAGE = "path\window.sprite"
IMAGE_INACTIVE = "path\window_inactive.sprite"
; γραμματοσειρές
FONT = "fonts\outline_white.font"
FONT_INACTIVE = "fonts\outline_gray.font"
; κέρσορας
CURSOR = "path\arrow.sprite"
; script
SCRIPT = "path\MyWindow.script"
; επιπλέον ιδιότητες
TRANSPARENT = FALSE
MENU = FALSE
IN_GAME = FALSE
CLIP_CONTENTS = TRUE
; διαβάθμιση φόντου
FADE_COLOR { 255, 0, 0 }
FADE_ALPHA = 255
PAUSE_MUSIC = TRUE
}
Επεξήγηση:
- NAME - το εσωτερικό όνομα του παραθύρου
- TEMPLATE - αναφορά σε άλλο προσδιορισμό παραθύρου: αν έχετε πολλά παρόμοια παράθυρα μπορείτε να μεταφέρετε όλες τις κοινές ρυθμίσεις σε ξεχωριστό αρχείο και να το χρησιμοποιήσετε ως πρότυπο. Καλό είναι να εισάγετε αυτή την αναφορά νωρίς στο αρχείο προσδιορισμού ώστε να μπορείτε να παρακάμψετε κάποιες από τις ιδιότητές του αν αυτό χρειαστεί.
- X, Y - η αρχική θέση του παραθύρου
- WIDTH, HEIGHT - το μέγεθος του παραθύρου
- VISIBLE - ορίζει αν το παράθυρο θα είναι αρχικά ορατό
- DISABLED - ορίζει αν το παράθυρο θα είναι αρχικά απενεργοποιημένο
- TITLE - ο τίτλος του παραθύρου
- TITLE_RECT - ορίζει το ορθογώνιο μέσα στο οποίο θα εμφανίζεται ο τίτλος. Απαιτούνται τέσσερις τιμές σε εικονοστοιχεία: δεξιά, ανώτατο σημείο, αριστερά και κατώτατο σημείο
- TITLE_ALIGN - ορίζει την ευθυγράμμιση του τίτλου μέσα στο ορθογώνιο. Οι πιθανές τιμές είναι: δεξιά (left), αριστερά (right) και κέντρο (center)
- DRAG_RECT - ορίζει το ορθογώνιο μέσα στο παράθυρο από όπου ο παίκτης θα μπορεί να το σύρει. Ορίζεται από τέσσερις τιμές σε εικονοστοιχεία: δεξιά, ανώτατο σημείο, αριστερά και κατώτατο σημείο
- BACK - ορίζει μία εικόνα μοτίβο με σκοπό να σχηματίσει το γραφικό φόντο για το παράθυρο (μάθετε περισσότερα για τις εικόνες μοτίβα)
- BACK_INACTIVE - ορίζει μία εικόνα μοτίβο με σκοπό να σχηματίσει το γραφικό φόντο για το παράθυρο όταν αυτό είναι αδρανές (μάθετε περισσότερα για τις εικόνες μοτίβα)
- IMAGE - ορίζει ένα sprite να χρησιμοποιηθεί ως γραφικό φόντο για το παράθυρο (μάθετε περισσότερα για τα sprites)
- IMAGE_INACTIVE - ορίζει ένα sprite να χρησιμοποιηθεί ως γραφικό φόντο για το παράθυρο όταν αυτό είναι αδρανές (μάθετε περισσότερα για τα sprites)
- FONT - η γραμματοσειρά που θα χρησιμοποιηθεί για τον τίτλο του παραθύρου
- FONT_INACTIVE - η γραμματοσειρά που θα χρησιμοποιηθεί για τον τίτλο του παραθύρου όταν αυτό είναι αδρανές
- CURSOR - το sprite που θα χρησιμοποιηθεί ως κέρσορας για το ποντίκι όταν αυτό βρίσκεται πάνω από το παράθυρο
- SCRIPT - το, ορισμένο στο παράθυρο, script (μπορούν να υπάρχουν περισσότερα από ένα)
- TRANSPARENT - ορίζει αν το παράθυρο θα είναι διαφανές. Σε αυτή την περίπτωση δεν δέχεται εντολές από το ποντίκι και όλα τα κλικ ενεργούν στο φόντο πίσω από αυτό
- MENU - το παράθυρο που ορίζετε ως μενού εξαφανίζεται αυτόματα όταν ο παίκτης κάνει κλικ έξω από αυτό
- IN_GAME - το παράθυρο που ορίζετε ως εσωτερικό του παιχνιδιού παρουσιάζεται πίσω από το παράθυρο του inventory. Σε αντίθετη περίπτωση θα παρουσιαστεί μπροστά από αυτό.
- CLIP_CONTENTS - αν ορίσετε θετικά αυτή την ιδιότητα τα διάφορα αντικείμενα (πλήκτρα κ.λπ.) που βρίσκονται μέσα στο παράθυρο αλλά βγαίνουν εκτός αυτού θα κοπούν στις άκρες
- FADE_COLOR - όταν εμφανίζεται το παράθυρο το φόντο του παιχνιδιού θα καλύπτεται με το δοσμένο χρώμα στο πρότυπο RGB
- FADE_ALPHA - ορίζει την διαφάνεια του χρώματος που έχει οριστεί με την ιδιότητα FADE_COLOR και δέχεται τιμές από το 0 (απόλυτα διαφανές) εώς το 255 (αδιαφανές)
- PAUSE_MUSIC - ορίζει αν το παράθυρο θα παγώνει την μουσική όταν είναι στην αποκλειστική κατάσταση συστήματος
Μετά τις παραπάνω βασικές ρυθμίσεις το αρχείο προσδιορισμού ενός παραθύρου δέχεται επιπλέον προσδιορισμούς για άλλα αντικείμενα ελέγχου. Για παράδειγμα η ακόλουθη περιγραφή θα τοποθετήσει ένα κουμπί μέσα στο παράθυρο. Η επεξήγηση των περιγραφών που μπορεί να δεχθεί ένα παράθυρο περιγράφονται με λεπτομέρειες στη συνέχεια του κεφαλαίου. Αξίζει να σημειωθεί ότι ένα παράθυρο μπορεί να περιλαμβάνει και άλλα παράθυρα μέσα σε αυτό.
BUTTON
{
NAME = "MyButton"
TEXT = "Κουμπί"
X = 40
Y = 100
WIDTH = 70
HEIGHT = 30
}
Ολοκληρωμένα αρχεία προσδιορισμού παραθύρων μπορείτε να βρείτε στο φάκελο "interface\system" του παιχνιδιού επίδειξης της WME. Αξίζει να σημειωθεί ότι δεν χρειάζεται να γράφετε κάθε αρχείο προσδιορισμού από την αρχή καθώς υπάρχει έτοιμο πρότυπο για χρήση από τον ProjectMan (μάθετε περισσότερα για τον ProjectMan).
Δείτε επίσης: τον οδηγό αναφοράς για το Αντικείμενο παράθυρο
Κουμπιά
Τα κουμπιά μπορούν να έχουν διάφορες εμφανίσεις. Μπορούν να είναι είναι γραφικά είτε παραλληλόγραμμα με κείμενο στο εσωτερικό του, ή ένας συνδυασμός των δύο. Όπως ισχύει και με τα παράθυρα, τα πλήκτρα μπορούν να έχουν ότι μορφή θέλετε ώστε να ταιριάζουν στο παιχνίδι σας.
Οι περιγραφές των κουμπιών είναι τμήμα των αρχείων περιγραφής παραθύρων .window (δείτε την προηγούμενη παράγραφο). Ας δούμε ένα παράδειγμα περιγραφής κουμπιού. Αρχικά υπάρχει ο τίτλος και στη συνέχεια οι ιδιότητες του κουμπιού που όμως δεν είναι απαραίτητο να τις χρησιμοποιήσετε όλες καθώς έχουν ορισμένη κάποια προκαθορισμένη τιμή. Είναι απαραίτητο να ορίσετε μόνο τις ιδιότητες που θέλετε να αλλάξετε σε σχέση με τις τιμές που ήδη έχουν.
BUTTON
{
NAME = "MyButton"
TEMPLATE = "templates\MyTemplate.button"
; θέση και μέγεθος (σχετικά με τη θέση του παραθύρου)
X = 100
Y = 100
WIDTH = 200
HEIGHT = 50
; κατάσταση κουμπιού
VISIBLE = TRUE
DISABLED = FALSE
PRESSED = FALSE
FOCUSABLE = FALSE
; κείμενο
TEXT = "Το καινούριο μου παράθυρο"
TEXT_ALIGN = "center"
; φόντο
BACK = "path\button.image"
BACK_DISABLE = "path\button_disable.image"
BACK_FOCUS = "path\button_focus.image"
BACK_HOVER = "path\button_hover.image"
BACK_PRESS = "path\button_press.image"
IMAGE = "path\button.sprite"
IMAGE_DISABLE = "path\button_disable.sprite"
IMAGE_FOCUS = "path\button_focus.sprite"
IMAGE_HOVER = "path\button_hover.sprite"
IMAGE_PRESS = "path\button_press.sprite"
CENTER_IMAGE = TRUE
; γραμματοσειρές
FONT = "fonts\outline_white.font"
FONT_DISABLE = "fonts\outline_gray.font"
FONT_FOCUS = "fonts\outline_white.font"
FONT_HOVER = "fonts\outline_red.font"
FONT_PRESS = "fonts\outline_red.font"
; script
SCRIPT = "path\MyButton.script"
; κέρσορας
CURSOR = "path\arrow.sprite"
; επιπλέον ιδιότητες
PARENT_NOTIFY = TRUE
PIXEL_PERFECT = TRUE
}
Επεξήγηση:
- NAME - το εσωτερικό όνομα του κουμπιού
- TEMPLATE - αναφορά σε άλλο προσδιορισμό κουμπιού: αν έχετε πολλά παρόμοια κουμπιά μπορείτε να μετακινήσετε όλες τις κοινές ρυθμίσεις σε ξεχωριστό αρχείο και να το χρησιμοποιήσετε ως πρότυπο. Καλό είναι να εισάγετε αυτή την αναφορά νωρίς στο αρχείο προσδιορισμού ώστε να μπορείτε να παρακάμψετε κάποιες από τις ιδιότητές του αν αυτό χρειαστεί.
- X, Y - η αρχική θέση του κουμπιού (σε σχέση με την θέση που παραθύρου)
- WIDTH, HEIGHT - το μέγεθος του κουμπιού
- VISIBLE - ορίζει αν το κουμπί θα είναι αρχικά ορατό
- DISABLED - ορίζει αν το κουμπί θα είναι αρχικά απενεργοποιημένο
- PRESSED - ορίζει αν το κουμπί θα εμφανίζεται πατημένο συνέχεια
- FOCUSABLE - ορίζει αν το κουμπί μπορεί να εστιαστεί
- TEXT - το κείμενο που θα περιέχει το κουμπί
- TEXT_ALIGN - ορίζει την ευθυγράμμιση του κειμένου μέσα στο κουμπί. Οι πιθανές τιμές είναι: δεξιά, αριστερά και κέντρο
- BACK - ορίζει μία εικόνα που μπορεί να χρησιμοποιηθεί ως μοτίβο με σκοπό να σχηματίσει το φόντο του κουπιού (μάθετε περισσότερα για τις εικόνες μοτίβα)
- BACK_DISABLE - ορίζει μία εικόνα μοτίβο με σκοπό να σχηματίσει το φόντο του κουπιού όταν αυτό είναι ανενεργό (μάθετε περισσότερα για τις εικόνες μοτίβα)
- BACK_FOCUS - ορίζει μία εικόνα μοτίβο με σκοπό να σχηματίσει το φόντο του κουπιού όταν αυτό είναι εστιασμένο (μάθετε περισσότερα για τις εικόνες μοτίβα)
- BACK_HOVER - ορίζει μία εικόνα μοτίβο με σκοπό να σχηματίσει το φόντο του κουπιού όταν ο κέρσορας του ποντικιού είναι πάνω από αυτό (μάθετε περισσότερα για τις εικόνες μοτίβα)
- BACK_PRESS - ορίζει μία εικόνα μοτίβο με σκοπό να σχηματίσει το φόντο του κουπιού όταν αυτό είναι πατημένο (μάθετε περισσότερα για τις εικόνες μοτίβα)
- IMAGE - ορίζει ένα sprite ως φόντο για το κουμπί (μάθετε περισσότερα για τα sprites)
- IMAGE_DISABLE - ορίζει ένα sprite ως φόντο για το κουμπί όταν αυτό είναι ανενεργό (μάθετε περισσότερα για τα sprites)
- IMAGE_FOCUS - ορίζει ένα sprite ως φόντο για το κουμπί όταν αυτό είναι εστιασμένο (μάθετε περισσότερα για τα sprites)
- IMAGE_HOVER - ορίζει ένα sprite ως φόντο για το κουμπί όταν ο κέρσορας το ποντικιού είναι πάνω από αυτό (μάθετε περισσότερα για τα sprites)
- IMAGE_PRESS -ορίζει ένα sprite ως φόντο για το κουμπί όταν αυτό είναι πατημένο (μάθετε περισσότερα για τα sprites)
- CENTER_IMAGE - αν το μέγεθος του κουμπιού είναι μεγαλύτερο από το μέγεθος της εικόνας τότε αυτή ευθυγραμμίζεται στο κέντρο
- FONT - η γραμματοσειρά που θα χρησιμοποιηθεί για το κείμενο του κουμπιού
- FONT_DISABLE - η γραμματοσειρά που θα χρησιμοποιηθεί για το κείμενο του κουμπιού όταν αυτό είναι ανενεργό
- FONT_FOCUS -η γραμματοσειρά που θα χρησιμοποιηθεί για το κείμενο του κουμπιού όταν αυτό είναι εστιασμένο
- FONT_HOVER - η γραμματοσειρά που θα χρησιμοποιηθεί για το κείμενο του κουμπιού όταν ο κέρσορας το ποντικιού είναι πάνω από αυτό
- FONT_PRESS - η γραμματοσειρά που θα χρησιμοποιηθεί για το κείμενο του κουμπιού όταν αυτό είναι πατημένο
- SCRIPT - το, ορισμένο στο κουμπί, script (μπορούν να υπάρχουν περισσότερα από ένα)
- CURSOR - το sprite που θα χρησιμοποιείται ως κέρσορας για το ποντίκι όταν αυτός είναι πάνω από το κουμπί
- PARENT_NOTIFY - όταν το κουμπί πατηθεί, το παράθυρο στο οποίο ανήκει θα δεχθεί ένα γεγονός με το όνομα του κουμπιού (με αυτό τον τρόπο μπορείτε να μεταφέρετε την "λογική" του παραθύρου στο script που είναι ορισμένο σε αυτό)
- PIXEL_PERFECT - αν το κουμπί ορίζεται από ένα sprite, τότε η ανίχνευσή του από τον κέρσορα του ποντικιού θα είναι ακριβής ως προς τα εικονοστοιχεία του sprite
Ολοκληρωμένα αρχεία προσδιορισμού κουμπιών μπορείτε να βρείτε στο φάκελο "interface\system" του παιχνιδιού επίδειξης της WME. Αξίζει να σημειωθεί ότι δεν χρειάζεται να γράφετε κάθε αρχείο προσδιορισμού από την αρχή καθώς υπάρχει έτοιμο πρότυπο για χρήση από τον ProjectMan (μάθετε περισσότερα για τον ProjectMan).
Δείτε επίσης: τον οδηγό αναφοράς για το Αντικείμενο κουμπί
Φόρμες εισαγωγής κειμένου
Το αντικείμενο το αναπαριστά μία γραμμή εισαγωγής κειμένου. Ο χρήστης μπορεί να εισάγει σε αυτές τις φόρμες κείμενο, να επιλέξει κάποιο τμήμα αυτού και να εκτελέσει τις γνωστές διαδικασίες αντιγραφή/επικόλληση από και προς το clipboard των windows. Όπως και στην περίπτωση των παραθύρων και των άλλων αντικειμένων, μπορείτε να δώσετε στις φόρμες αυτές ότι εμφάνιση θέλετε ώστε να ταιριάξουν στο παιχνίδι σας.
Οι περιγραφή τους είναι πάντοτε τμήμα των αρχείων .window (δείτε παραπάνω). Ας δούμε ένα παράδειγμα περιγραφής μιας τέτοιας φόρμας. Αρχικά υπάρχει ο τίτλος και στη συνέχεια οι ιδιότητες του που όμως δεν είναι απαραίτητο να τις χρησιμοποιήσετε όλες καθώς έχουν ορισμένη κάποια προκαθορισμένη τιμή. Είναι απαραίτητο να ορίσετε μόνο τις ιδιότητες που θέλετε να αλλάξετε σε σχέση με τις τιμές που ήδη έχουν.
EDIT
{
NAME = "MyEditor"
TEMPLATE = "templates\MyTemplate.editor"
; θέση και μέγεθος (σχετικά με τη θέση του παραθύρου)
X = 100
Y = 100
WIDTH = 200
HEIGHT = 50
; κατάσταση φόρμας
VISIBLE = TRUE
DISABLED = FALSE
; κείμενο
TEXT = "Η κανούρια μου φόρμα"
; φόντο
BACK = "path\editor.image"
IMAGE = "path\editor.sprite"
; γραμματοσειρές
FONT = "fonts\outline_white.font"
FONT_SELECTED = "fonts\outline_red.font"
; script
SCRIPT = "path\MyEditor.script"
; κέρσορας
CURSOR = "path\beam.sprite"
; επιπλέον ιδιότητες
PARENT_NOTIFY = TRUE
MAX_LENGTH = 100
FRAME_WIDTH = 2
CURSOR_BLINK_RATE
}
Επεξήγηση:
- NAME - το εσωτερικό όνομα της φόρμας
- TEMPLATE - αναφορά σε άλλο προσδιορισμό φόρμας: αν έχετε πολλές παρόμοιες φόρμες μπορείτε να μετακινήσετε όλες τις κοινές ρυθμίσεις σε ξεχωριστό αρχείο και να το χρησιμοποιήσετε ως πρότυπο. Καλό είναι να εισάγετε αυτή την αναφορά νωρίς στο αρχείο προσδιορισμού ώστε να μπορείτε να παρακάμψετε κάποιες από τις ιδιότητές του αν αυτό χρειαστεί.
- X, Y - η αρχική θέση της φόρμας (σε σχέση με την θέση που παραθύρου)
- WIDTH, HEIGHT - το μέγεθος της φόρμας
- VISIBLE - ορίζει αν η φόρμα θα είναι αρχικά ορατή
- DISABLED - ορίζει αν η φόρμα θα είναι αρχικά απενεργοποιημένη
- TEXT - το κείμενο που θα περιέχεται αρχικά στη φόρμα
- BACK - ορίζει μία εικόνα που μπορεί να χρησιμοποιηθεί ως μοτίβο με σκοπό να σχηματίσει το φόντο της φόρμας (μάθετε περισσότερα για τις εικόνες μοτίβα)
- IMAGE - ορίζει ένα sprite ως φόντο για την φόρμα (μάθετε περισσότερα για τα sprites)
- FONT - η γραμματοσειρά που θα χρησιμοποιηθεί για το κείμενο μέσα στη φόρμα
- FONT_SELECTED - η γραμματοσειρά που θα χρησιμοποιηθεί για το επιλεγμένο κείμενο μέσα στη φόρμα
- SCRIPT - το, ορισμένο στη φόρμα, script (μπορούν να υπάρχουν περισσότερα από ένα)
- CURSOR -το sprite που θα χρησιμοποιείται ως κέρσορας για το ποντίκι όταν αυτός είναι πάνω από τη φόρμα
- PARENT_NOTIFY - όταν το κείμενο της φόρμας αλλάξει, το παράθυρο στο οποίο ανήκει θα δεχθεί ένα γεγονός με το όνομα της φόρμας (με αυτό τον τρόπο μπορείτε να μεταφέρετε την "λογική" του παραθύρου στο script που είναι ορισμένο σε αυτό)
- MAX_LENGTH - ορίζει τον μέγιστο αριθμό χαρακτήρων που μπορεί να δεχθεί η φόρμα (για άπειρους χαρακτήρες δώστε τιμή -1)
- FRAME_WIDTH - ορίζει τη θέση του κειμένου σε σχέση με την θέση της φόρμας (σε εικονοστοιχεία)
- CURSOR_BLINK_RATE - ορίζει την ταχύτητα που αναβοσβήνει ο κέρσορας εισαγωγής κειμένου (σε χιλιοστά του δευτερολέπτου). Η αρχική τιμή είναι ίδια με την τιμή των windows
Για ολοκληρωμένες περιγραφές φορμών ελέγξτε ορισμένα από τα αρχεία προσδιορισμού των παραθύρων που βρίσκονται στο φάκελο "interface\system" του παιχνιδιού επίδειξης της WME.
Δείτε επίσης: τον οδηγό αναφοράς για το Αντικείμενο φόρμα εισαγωγής κειμένου
Static controls
Τα static controls αναπαριστούν διάφορα μη διαδραστικά διακοσμητικά στοιχεία των παραθύρων όπως επικεφαλίδες ή εικονίδια. Όπως και στην περίπτωση των παραθύρων και των άλλων αντικειμένων, μπορείτε να τους δώσετε ό,τι εμφάνιση θέλετε ώστε να ταιριάξουν στο παιχνίδι σας.
Οι περιγραφές των static controls είναι πάντοτε τμήμα των αρχείων .window (δείτε παραπάνω). Ας δούμε ένα παράδειγμα μίας τέτοιας περιγραφής. Αρχικά υπάρχει ο τίτλος και στη συνέχεια οι ιδιότητες που όμως δεν είναι απαραίτητο να τις χρησιμοποιήσετε όλες καθώς έχουν ορισμένη εξαρχής κάποια προκαθορισμένη τιμή. Είναι απαραίτητο να ορίσετε μόνο τις ιδιότητες που θέλετε να αλλάξετε σε σχέση με τις τιμές που ήδη έχουν.
STATIC
{
NAME = "MyStatic"
TEMPLATE = "templates\MyTemplate.static"
; θέση και μέγεθος (σχετικά με τη θέση του παραθύρου)
X = 100
Y = 100
WIDTH = 200
HEIGHT = 50
; κατάσταση του αντικειμένου
VISIBLE = TRUE
DISABLED = FALSE
; κείμενο
TEXT = "Ένα static control"
TEXT_ALIGN = left
; φόντο
BACK = "path\static.image"
IMAGE = "path\static.sprite"
; γραμματοσειρές
FONT = "fonts\outline_white.font"
; script
SCRIPT = "path\MyStatic.script"
; κέρσορας
CURSOR = "path\arrow.sprite"
}
Επεξήγηση:
- NAME - το εσωτερικό όνομα του static control
- TEMPLATE - αναφορά σε άλλο προσδιορισμό static control: αν έχετε πολλά παρόμοια αντικείμενα μπορείτε να μετακινήσετε όλες τις κοινές ρυθμίσεις σε ξεχωριστό αρχείο και να το χρησιμοποιήσετε ως πρότυπο. Καλό είναι να εισάγετε αυτή την αναφορά νωρίς στο αρχείο προσδιορισμού ώστε να μπορείτε να παρακάμψετε κάποιες από τις ιδιότητές του αν αυτό χρειαστεί.
- X, Y - η αρχική θέση του static control (σε σχέση με την θέση που παραθύρου)
- WIDTH, HEIGHT - το μέγεθος του static control
- VISIBLE - ορίζει αν το static control θα είναι αρχικά ορατό
- DISABLED - ορίζει αν το static control θα είναι αρχικά απενεργοποιημένο (δεν χρησιμοποιείται)
- TEXT - το κείμενο του static control
- TEXT_ALIGN - ορίζει την ευθυγράμμιση του κειμένου. Οι πιθανές τιμές είναι: δεξιά, αριστερά και κέντρο
- BACK - ορίζει μία εικόνα που μπορεί να χρησιμοποιηθεί ως μοτίβο με σκοπό να σχηματίσει το φόντο του static control (μάθετε περισσότερα για τις εικόνες μοτίβα)
- IMAGE - ορίζει ένα sprite ως φόντο για το static control (μάθετε περισσότερα για τα sprites)
- FONT - η γραμματοσειρά που θα χρησιμοποιηθεί για το κείμενο
- SCRIPT - το, ορισμένο στο static control, script (δεν χρησιμοποιείται)
- CURSOR - το sprite που θα χρησιμοποιείται ως κέρσορας για το ποντίκι όταν αυτός είναι πάνω από το static control (δεν χρησιμοποιείται)
Για ολοκληρωμένες περιγραφές των static controls ελέγξτε ορισμένα από τα αρχεία προσδιορισμού των παραθύρων που βρίσκονται στο φάκελο "interface\system" του παιχνιδιού επίδειξης της WME.
Δείτε επίσης: τον οδηγό αναφοράς για το Αντικείμενο static control
Entity containers
Η entity container είναι ένα ειδικό εργαλείο που σας επιτρέπει να ενσωματώσετε ανεπτυγμένα διαδραστικά αντικείμενα, δηλαδή entities, στο γραφικό περιβάλλον χειρισμού. Με αυτό τον τρόπο μπορείτε να έχετε "έξυπνα" αντικείμενα μέσα στα παράθυρα. Πιθανές χρήσεις είναι, για παράδειγμα, inventory όπως αυτό του Runaway (με χαρακτήρα που μιλάει) ή κοντινά πλάνα από τα αντικείμενα (μάθετε περισσότερα για τις entities).
Οι περιγραφές των entity container είναι πάντοτε τμήμα των αρχείων .window (δείτε παραπάνω). Ας δούμε ένα παράδειγμα μίας τέτοιας περιγραφής.
ENTITY_CONTAINER
{
NAME = "MyEntity"
TEMPLATE = "templates\MyTemplate.txt"
; θέση (σχετικά με τη θέση του παραθύρου)
X = 100
Y = 100
; κατάσταση
VISIBLE = TRUE
DISABLED = FALSE
ENTITY = "path\MyEntity.entity"
}
Επεξήγηση:
- NAME - το εσωτερικό όνομα της entity container
- TEMPLATE - αναφορά σε άλλο αρχείο προσδιορισμού: αν έχετε πολλά παρόμοια αντικείμενα μπορείτε να μετακινήσετε όλες τις κοινές ρυθμίσεις σε ξεχωριστό αρχείο και να το χρησιμοποιήσετε ως πρότυπο. Καλό είναι να εισάγετε αυτή την αναφορά νωρίς στο αρχείο προσδιορισμού ώστε να μπορείτε να παρακάμψετε κάποιες από τις ιδιότητές του αν αυτό χρειαστεί.
- X, Y - η αρχική θέση της entity container (σε σχέση με την θέση που παραθύρου)
- VISIBLE - ορίζει αν το control θα είναι αρχικά ορατό
- DISABLED - ορίζει αν το control θα είναι αρχικά απενεργοποιημένο (δεν χρησιμοποιείται)
- ENTITY - αναφορά σε ένα αρχείο προσδιορισμού αντικειμένου entity
Όπως μπορείτε να δείτε, η entity container λειτουργεί απλά ως "γέφυρα" μεταξύ του παραθύρου και του αντικειμένου entity.
Δείτε επίσης: τον οδηγό αναφοράς για το Αντικείμενο entity container
Εικόνες μοτίβα
Αν και μπορείτε να ορίσετε μία εικόνα ως φόντο για τα παράθυρα και τα αντικείμενα αυτών, έχει πάντα ένα προκαθορισμένο μέγεθος. Μερικές φορές όμως είναι χρήσιμο να ορίσετε μία ειδική εικόνα που να μπορεί να αυξομειώνει το μέγεθός της. Με αυτό τον τρόπο μπορείτε να χρησιμοποιήσετε το ίδιο φόντο για παράθυρα/αντικείμενα με διαφορετικό μέγεθος. Αυτές οι ειδικές εικόνες ονομάζονται "εικόνες μοτίβα".
Η εικόνα μοτίβο αποτελείται από μία γραφική εικόνα και ένα αρχείο προσδιορισμού που ορίζει τα επαναλαμβανόμενα τμήματα της εικόνας. Όταν η μηχανή χρειάζεται να αλλάξει το μέγεθος της εικόνας χρησιμοποιεί αυτά τα τμήματα επαναλαμβάνοντάς τα εώς ότου να φτάσει το επιθυμητό μέγεθος.
Για παράδειγμα, ο ακόλουθος προσδιορισμός χωρίζει την εικόνα σε 9 τμήματα με διαστάσεις 30x30 εικονοστοιχεία το καθένα.
TILED_IMAGE
{
IMAGE="ui_elements\win.bmp"
VERTICAL_TILES {30, 30, 30}
HORIZONTAL_TILES {30, 30, 30}
}
Και αυτό είναι το αποτέλεσμα:
Είναι προφανές ότι αν χρησιμοποιήσετε μία εικόνα μοτίβο ως φόντο για τα παράθυρά σας το μέγεθος αυτών μπορεί να είναι μόνο πολλαπλάσιο των τμημάτων.