AuthorWare Star

Το AuthorWare Star είναι ένα εργαλείο ανάπτυξης εφαρμογών πολυμέσων που έχει ως βασικό στόχο την απλότητα. Ανήκει στην εταιρεία Macromedia και αποτελεί ένα χαρακτηριστικό δείγμα εργαλείου ανάπτυξης εφαρμογών πολυμέσων της κατηγορίας Iconic/Flow Control paradigm.

Εισαγωγή

 Ο προγραμματισμός της εφαρμογής στο AuthorWare Star γίνεται με οπτικά εργαλεία (visual tools) και δεν απαιτεί την συγγραφή σχεδόν καθόλου κώδικα.

Η δομή ενός προγράμματος στο AuthorWare Star δεν είναι παρά μια γραμμή ροής (flowline) στην οποία περιγράφεται η αλληλουχία των γεγονότων της εφαρμογής. Κάθε γεγονός παριστάνεται στην οθόνη από ένα εικονίδιο σχεδιασμού (design icon). Τα διαθέσιμα εικονίδια είναι τα εξής:

 

Σχήμα 10-1. Τα διαθέσιμα εικονίδια και η χρήση τους

Η συγγραφή ενός προγράμματος στο AuthorWare Star συνίσταται στην εισαγωγή των κατάλληλων design icons στη γραμμή ροής του προγράμματος και στη ρύθμιση των ιδιοτήτων του κάθε design icon. Αυτές οι λειτουργίες γίνονται γραφικά (με τη τεχνική drag and drop) και όλα τα αποτελέσματα φαίνονται στην οθόνη όπως θα φαίνονταν από την εφαρμογή. Μια εφαρμογή στο AuthorWare Star μπορεί να έχει την μορφή που φαίνεται Σχήμα 10-2.

Αυτά τα χαρακτηριστικά, καθιστούν τον προγραμματισμό απλό, γρήγορο και προσιτό ακόμα και από μη προγραμματιστές.

Βασικά Στοιχεία Προγραμματισμού στο AuthorWare Star

Εργασία με Εικονίδια

 


 


Σχήμα 10-2. Τα βασικά στοιχεία του περιβάλλοντος εργασίας
του AuthorWare Star

Όπως φαίνεται στο Σχήμα 10-2, ο χώρος εργασίας ενός προγράμματος αποτελείται από ένα παράθυρο πάνω στο οποίο υπάρχει η γραμμή ροής. Τα εικονίδια επιλέγονται από μια παλέτα εικονιδίων και σύρονται με το ποντίκι στην κατάλληλη θέση πάνω στη γραμμή ροής. Με την γνωστή τεχνική cut-copy-paste των Windows, μπορεί να γίνει διόρθωση του προγράμματος αλλάζοντας τις θέσεις των εικονιδίων. Όταν εισάγεται ένα εικονίδιο για πρώτη φορά στη γραμμή ροής, έχει τον τίτλο "Untitled". Αυτός ο τίτλος μπορεί να αλλάξει, βοηθώντας στην αναγνωσιμότητα του προγράμματος. Η αλλαγή γίνεται με click πάνω στον αρχικό και εισαγωγή του νέου ονόματος.

Κάθε εικονίδιο, εκτός από την θέση του πάνω στη γραμμή ροής και τον τίτλο του, χαρακτηρίζεται και από κάποιο περιεχόμενο, ανάλογο με τη λειτουργία που επιτελεί. Για να καθοριστεί το περιεχόμενο ενός εικονιδίου, πρέπει να γίνει double-click πάνω σε αυτό. Αυτήν την ενέργεια θα την ονομάσουμε άνοιγμα του εικονιδίου. Με το άνοιγμα ενός εικονιδίου εμφανίζονται νέα παράθυρα ώστε να γίνει, πάντα με γραφικό τρόπο,  ο καθορισμός του περιεχομένου. Για παράδειγμα, το περιεχόμενο του εικονιδίου "Intro Music" είναι:

Σχήμα 10-3.  Το περιεχόμενο του εικονιδίου "Intro Music"

Για να εξοικονομηθεί χώρος πάνω στο παράθυρο εργασίας του προγράμματος, είναι δυνατόν να αντικατασταθεί μια ομάδα εικονιδίων από ένα μόνο. Double-click πάνω σε αυτό το νέο εικονίδιο ανοίγει ένα νέο παράθυρο εργασίας που περιέχει τα εικονίδια που ομαδοποιήθηκαν. Για να γίνει η ομαδοποίηση πρώτα επιλέγονται τα εικονίδια (Shift + Click) και ακολουθεί επιλογή του Group από το Edit menu.

Διακλάδωση

Ως τώρα η ροή ενός προγράμματος παρουσιάστηκε ως εντελώς γραμμική. Υπάρχει η δυνατότητα διακλάδωσης διαμέσου των εικονιδίων  Decision και Interaction.

Decision Icon

Τα decision icons είναι χρήσιμα για τον έλεγχο της ροής του προγράμματος. Αφού εισαχθεί το decision icon στην κατάλληλη θέση της γραμμής ροής, μπορούν να τοποθετηθούν στα δεξιά αυτού μερικά εικονίδια. Τα εικονίδια αυτά θα αποτελέσουν τους δυνατούς δρόμους της διακλάδωσης.

Το είδος της απόφασης καθορίζεται κάνοντας double-click πάνω στο εικονίδιο απόφασης και επιλέγοντας τα κατάλληλα χαρακτηριστικά από το dialog box που παρουσιάζεται.

Σχήμα 10-4. Περιεχόμενο ενός εικονιδίου απόφασης

 Υπάρχουν 3 είδη απόφασης:

·       Sequential

              Την πρώτη φορά που φτάνει το πρόγραμμα στο decision icon επιλέγεται η πρώτη επιλογή, τη δεύτερη η δεύτερη κ.ο.κ.

·       Random

              Γίνεται τυχαία επιλογή κάποιου από τα εικονίδια που βρίσκονται στα δεξιά του decision icon. (η επιλογή μπορεί να είναι κάθε φορά διαφορετική ή να επιτρέπονται και επαναλήψεις)

·       Calculated (nth path)

Αν η τιμή της μεταβλητής είναι 1 επιλέγεται η πρώτη, αν 2 η δεύτερη κ.ο.κ.

Όπως φαίνεται και στο παραπάνω σχήμα υπάρχει η δυνατότητα επανάληψης της επιλογής είτε για καθορισμένο αριθμό φορών είτε μέχρι να ικανοποιηθεί κάποια συνθήκη.

Interaction Icon

Αυτό εικονίδιο χρησιμοποιείται για την σύλληψη κάποιας επιλογής του χρήστη. Μετά την τοποθέτηση του πάνω στη γραμμή ροής, μπορούν να εισαχθούν σε αυτό εικονίδια. Τα εικονίδια τοποθετούνται το ένα δίπλα στο άλλο όπως φαίνεται στο παρακάτω σχήμα.

Σχήμα 10-5. Παράδειγμα χρήσης του Interaction Icon

Για κάθε τέτοιο εικονίδιο υπάρχει ένα είδος αλληλεπίδρασης (εισαγωγή κειμένου, πάτημα ενός κουμπιού, λήξη κάποιου χρονικού διαστήματος...). Στο παραπάνω σχήμα υπάρχουν τέσσερις επιλογές, κάθε μια εκ των οποίων αντιστοιχεί στο κείμενο που υπάρχει στη λίστα.

Όταν το πρόγραμμα φτάνει σε ένα interaction icon, παρουσιάζονται στην οθόνη όλα τα γραφικά που καθορίζονται μέσα σε αυτό και αναμένεται η αντίδραση του χρήστη. Αν η είσοδος του χρήστη ικανοποιεί κάποιες από τις συνθήκες, εκτελείται το εικονίδιο (το οποίο στο σχήμα είναι ένα map icon δηλαδή μια ομάδα εικονιδίων) που αντιστοιχεί σε αυτή και το πρόγραμμα συνεχίζει από εκεί που δείχνει το βελάκι στο τέλος του εικονιδίου.

Το είδος της αλληλεπίδρασης μπορεί να αλλάξει κάνοντας double-click πάνω στο σύμβολο της αλληλεπίδρασης (τρεις τελείες για το κείμενο) και εισάγοντας την κατάλληλη τιμή στο dialog box που παρουσιάζεται. Από το ίδιο dialog box  καθορίζεται η συνθήκη ικανοποίησης, οι ιδιότητες του γραφικού αντικειμένου που παραλαμβάνει την απάντηση του χρήστη (π.χ. το όνομα του κουμπιού) καθώς και το που θα δοθεί ο έλεγχος μετά. Στο παρακάτω σχήμα φαίνονται τα δυνατά είδη αλληλεπιδράσεων. Για περισσότερες λεπτομέρειες πάνω στον ακριβή τρόπο χειρισμού κάθε είδους αλληλεπίδρασης, παραπέμπουμε τον αναγνώστη στο εγχειρίδιο χρήσης του AuthorWare Star.

Σχήμα 10-6. Τα είδη αλληλεπίδρασης που αναγνωρίζει ένα
Interaction Icon

Δοκιμή Προγράμματος

Η εκτέλεση ενός προγράμματος γίνεται διαμέσου του μενού "Try It". Η επιλογή "Run" εκτελεί το τρέχον πρόγραμμα από την αρχή. Για διευκόλυνση του ελέγχου λαθών, υπάρχει δυνατότητα εκκίνησης του προγράμματος από κάποιο άλλο σημείο. Αυτό γίνεται με την τοποθέτηση των εικονιδίων Start Flag και End Flag στα σημεία που θέλουμε και επιλογή του "Run from Flag". Οι επιλογές "Pause" και "Resume" παγώνουν και συνεχίζουν την εκτέλεση του προγράμματος.

Παράθυρο Εφαρμογής

Το είδος του παραθύρου που καταλαμβάνει η εφαρμογή, καθώς και οι ιδιότητες του (χρώματα, μέγεθος ...) καθορίζονται από το την επιλογή "Setup" του μενού "File".

Μοντέλα

Πολλές φορές υπάρχουν κομμάτια εφαρμογών που υλοποιούν διεργασίες που συναντώνται πολύ συχνά. Είναι σκόπιμο να μπορούν αυτά τα κομμάτια να επαναχρησιμοποιηθούν στην υλοποίηση άλλων εφαρμογών. Αυτό επιτυγχάνεται με τα μοντέλα (models).

Ο ορισμός ενός μοντέλου γίνεται ως εξής:

·       Επιλέγουμε τα εικονίδια που θα απαρτίζουν το μοντέλο.

·       Από το μενού "Models" επιλέγουμε το "New" και εισάγουμε το όνομα του νέου μοντέλου.

·       Στη συνέχεια δίδουμε το όνομα του αρχείου όπου θα αποθηκευτεί το μοντέλο.

·       Τέλος το AuthorWare Star ζητά τις μεταβλητές που θέλουμε να μετονομάζονται αυτόματα (με την προσθήκη αριθμών στο τέλος) όταν διαπιστώνεται σύμπτωση με κάποια μεταβλητή του προγράμματος στο οποίο εισάγεται το μοντέλο.

Η εισαγωγή ενός μοντέλου σε κάποιο πρόγραμμα γίνεται με την επιλογή "Paste" στο μενού "Models", αφού πρώτα φορτωθεί το μοντέλο με την επιλογή "Load" του ιδίου μενού.

Δυνατότητες των Design Icons

Αφού είδαμε τον τρόπο με τον οποίο δομείται ένα πρόγραμμα στο AuthorWare Star, θα περάσουμε στην περιγραφή των δομικών στοιχείων ενός προγράμματος: τα design icons. Ταυτόχρονα θα διαπιστώσουμε τα στοιχεία που μπορεί να περιλαμβάνει μια εφαρμογή γραμμένη με το AuthorWare Star και να συμπεράνουμε για ποιες εφαρμογές είναι κατάλληλο.

Display Icon

Το display icon είναι υπεύθυνο για την παρουσίαση των γραφικών και του κειμένου μιας εφαρμογής στην οθόνη. Όπως και σε όλα τα design icons, για να χρησιμοποιηθεί το display icon πρέπει να γίνει double-click πάνω σε αυτό. Το αποτέλεσμα είναι να ανοίξει ένα νέο παράθυρο όπου θα γίνει ο σχεδιασμός αντικειμένων που θα εμφανίζονται στο interface της εφαρμογής. Να σημειωθεί ότι οι εφαρμογές του AuthorWare Star αποτελούνται από ένα μόνο παράθυρο. Αυτό δεν σημαίνει ότι υπάρχει ένα μόνο display icon σε κάθε εφαρμογή. Κάθε display icon περιλαμβάνει ομάδες αντικειμένων που παρουσιάζονται κάποια στιγμή στο παράθυρο της εφαρμογής.

Σχήμα 10-7. Εργαλεία σχεδιασμού στο AuthorWare Star

Ο σχεδιασμός της οθόνης γίνεται με τα τυπικά εργαλεία μιας σχεδιαστικής εφαρμογής, τα οποία είναι συγκεντρωμένα στη σχεδιαστική γραμμή εργαλείων (graphics toolbox). Αντί να χρησιμοποιηθούν αυτά τα εργαλεία για τον σχεδιασμό των γραφικών, υπάρχει η δυνατότητα εισαγωγής τους από άλλες εφαρμογές μέσω του clipboard των Windows ή με κατευθείαν ενσωμάτωση των αρχείων όπου είναι αποθηκευμένα μέσω της επιλογής "File_Import Graphics". Στο μενού "Edit" υπάρχουν και επιλογές (Line, Color, Fill) που ρυθμίζουν τις ιδιότητες των αντικειμένων.

Ειδική σημασία έχει η επιλογή "Edit_Effects", με την οποία καθορίζεται ο τρόπος εμφάνισης, η θέση και οι δυνατότητες μετακίνησης (από το χρήστη) που θα έχει ένα γραφικό αντικείμενο. Όσον αφορά τα εφέ παρουσίασης καθορίζουν τον τρόπο με τον οποίο θα εμφανιστεί το επιλεχθέν αντικείμενο στην οθόνη (για παράδειγμα να παρουσιάζεται γραμμή-γραμμή από πάνω προς τα κάτω...).

 

Σχήμα 0-8. Το παράθυρο διαλόγου της επιλογής "Edit_Effects"

Όσον αφορά στις επιλογές κάτω από τον τίτλο "Calculate Initial Position" αυτές έχουν τις παρακάτω σημασίες:

 

No:

Ο σχεδιαστής τοποθετεί το αντικείμενο στην θέση που αυτός επιθυμεί πάνω στην οθόνη σύροντας το εκεί.

In Area:

Με το διαδοχικό τσεκάρισμα των επιλογών "base" και "end" και με click στις επιθυμητές θέσεις, o σχεδιαστής ορίζει μια περιοχή (παραλληλόγραμμο), μέσα στην οποία μπορεί να τοποθετηθεί το αντικείμενο με χρήση ενός τοπικού συστήματος συντεταγμένων. Για κάθε διάσταση υπάρχει μια μεταβλητή, οπότε η μετακίνηση μπορεί να γίνει και κατά το χρόνο εκτέλεσης μεταβάλλοντας τις τιμές αυτών των μεταβλητών.

On path:

Παρόμοια με πριν αλλά  σε μια διάσταση. Η γραμμή πάνω στην οποία μπορεί να τοποθετηθεί το αντικείμενο ορίζεται μετακινώντας το αντικείμενο με το ποντίκι. Κάθε μετακίνηση ορίζει ένα νέο ευθύγραμμο τμήμα και μια νέα κορυφή. Με double-click πάνω σε μια κορυφή το σχήμα της αλλάζει από τρίγωνο σε κύκλο και η διαδρομή γίνεται καμπύλη. Στο Σχήμα 0-9, φαίνεται η καμπύλη στη θέση 23 (με τέλος το 100) της οποίας βρίσκεται το αντικείμενο (ο κύκλος).

 

Τέλος, υπάρχει η δυνατότητα να είναι το αντικείμενο μετακινούμενο από το χρήστη της εφαρμογής είτε όχι. Η μετακίνηση μπορεί να είναι ελεύθερη (free) ή να περιορίζεται μέσα στην περιοχή ή πάνω στην καμπύλη που βρίσκεται το αντικείμενο (in positioning area/path). Στην τελευταία περίπτωση, οι μεταβλητές που κρατούν τις συντεταγμένες του αντικειμένου αλλάζουν με κάθε μετακίνηση. Έτσι, μπορούν να δημιουργηθούν αντικείμενα που δέχονται τα δεδομένα του χρήστη με πολύ φυσικό τρόπο.

Σχήμα 0-9. Παράδειγμα καθορισμού της τροχιάς ενός
 αντικειμένου

Animation Icon

Αυτό το εικονίδιο ακολουθεί πάντοτε κάποιο display icon και ο ρόλος του είναι να μετακινήσει, μέσα στο παράθυρο της εφαρμογής, τα αντικείμενα που περιέχονται στο display icon. Για να  δημιουργηθεί ένα animation ακολουθούνται τα εξής βήματα:

1.    Το αντικείμενο που θέλουμε να κινηθεί σχεδιάζεται μέσα σε ένα δικό του display icon

2.    Πάνω στη γραμμή ροής του προγράμματος και αμέσως μετά το display icon, τοποθετούμε ένα animation icon

3.    Εκτελούμε την εφαρμογή μέχρι να φτάσουμε στο εν λόγω display icon

4.    Κατόπιν κάνουμε ανοίγουμε το animation icon για να καθορίσουμε τα χαρακτηριστικά του animation

Υπάρχουν 3 είδη animation. Αυτά τα είδη έχουν τα κοινά χαρακτηριστικά:

·       Χρονική διάρκεια της μετακίνησης

·       Επίπεδο στρώματος (layer), το οποίο καθορίζει αν το αντικείμενο θα φαίνεται μπροστά η πίσω από άλλα αντικείμενα κατά τη μετακίνηση

·       Ένα σημείο αρχής και ένα τέλους

Ας δούμε τώρα τι ξεχωρίζει αυτά τα είδη animation:

 

Fixed Path

Ο σχεδιαστής καθορίζει μια διαδρομή (όπως περιγράφηκε στην προηγούμενη ενότητα) πάνω στην οποία γίνεται η μετακίνηση. Όπως έχουμε δει, αυτή η διαδρομή μπορεί να είναι ευθεία ή καμπύλη.

Fixed Destination

Ο σχεδιαστής καθορίζει μόνο το πέρας της διαδρομής. Το αντικείμενο ακολουθεί γραμμική πορεία μέχρι εκεί.

Linear scale

Σε αντιστοιχία με την πρώτη περίπτωση, και εδώ υπάρχει μια διαδρομή. Η διαφορά είναι ότι ο σχεδιαστής καθορίζει, εκτός από τα σημεία αρχής και τέλους και έναν αριθμό για κάθε ένα από αυτά. Κάθε ενδιάμεσο σημείο αποκτά αυτόματα μια τιμή με γραμμική παρεμβολή. Επιπλέον, ο σχεδιαστής καθορίζει και μια μεταβλητή που αντιπροσωπεύει τη θέση του αντικειμένου πάνω στη καμπύλη. Κάθε φορά που η τιμή της αλλάζει, το αντικείμενο μετακινείται πάνω στην καμπύλη μέχρι να φτάσει στη σωστή θέση.

Scaled X-Y

Η περίπτωση αυτή είναι το αντίστοιχο του Linear Scale στις δυο διαστάσεις.

Multimedia Icons

Αυτά τα εικονίδια δίνουν τη δυνατότητα ενσωμάτωσης στις εφαρμογές ήχου και βίντεο. Και τα δύο εικονίδια, (sound και movie icon) λειτουργούν με τον ίδιο τρόπο. Με άνοιγμα αυτών εμφανίζεται ένα dialog box στο οποίο καθορίζεται το αρχείο όπου είναι αποθηκευμένος ο ήχος ή το βίντεο. Όπως φαίνεται στο Σχήμα 10-3 υπάρχουν επιπλέον επιλογές που περιγράφουν τον τρόπο με τον οποίο θα παιχτεί ο ήχος ή το βίντεο. Υπάρχει και ένα τρίτο εικονίδιο το Video Icon με το οποίο ελέγχεται η λειτουργία μιας περιφερειακής κάρτας βίντεο.

Erase Icon

Η τοποθέτηση του στη γραμμή ροής, αφαιρεί από την οθόνη τα γραφικά αντικείμενα που περιέχονται στο προηγούμενο εικονίδιο.

Μεταβλητές και Συναρτήσεις

Παρόλο που οι ενσωματωμένες ιδιότητες του διαφόρων εικονιδίων του AuthorWare Star επιτρέπουν την δημιουργία περίπλοκων γραφικών interfaces, πολλές φορές παρουσιάζεται η ανάγκη για την υλοποίηση πιο εξειδικευμένων λειτουργιών που δεν προκύπτουν άμεσα από τα αντικείμενα του AuthorWare Star. Σε αυτές τις περιπτώσεις χρησιμοποιούνται οι μεταβλητές (variables) και οι συναρτήσεις (functions).

Οι μεταβλητές στο AuthorWare Star χωρίζονται σε δυο βασικές κατηγορίες:

·       Μεταβλητές συστήματος (System Variables)

              Αυτές οι μεταβλητές περιέχουν πληροφορίες για την κατάσταση του συστήματος. Η τιμή τους ανανεώνεται αυτόματα από το AuthorWare Star. Οι μεταβλητές συστήματος χωρίζονται σε διάφορες κατηγορίες ανάλογα με το μέρος του συστήματος που παρακολουθούν. Ένα χαρακτηριστικό παράδειγμα είναι η μεταβλητή Full-time της κατηγορίας Time που περιέχει την τρέχουσα ημερομηνία σε εκτεταμένη μορφή. Η επιλογή "Variables_ShowVariables" ανοίγει ένα dialog box το οποίο περιέχει όλες τις διαθέσιμες μεταβλητές ανά κατηγορία.

·       Μεταβλητές χρήστη (User Variables)

Οι μεταβλητές αυτές ορίζονται και ενημερώνονται από τον προγραμματιστή.

Οι δυνατοί τύποι που μπορεί να πάρει μια μεταβλητή είναι: ένας πραγματικός αριθμός, μια συμβολοσειρά και μια λογική τιμή. Η δημιουργία μιας μεταβλητής χρήστη γίνεται διαμέσου της επιλογής Variables_New από το βασικού μενού του AuthorWare Star. Στο dialog box που ανοίγει ο προγραμματιστής δίνει το όνομα και την αρχική τιμή της νέας μεταβλητής.

Για να χρησιμοποιηθεί η τιμή μιας μεταβλητής μέσα σε μια έκφραση χρησιμοποιείται ο συμβολισμός {όνομα μεταβλητής}. Μερικές μεταβλητές συστήματος αναφέρονται σε κατηγορίες αντικειμένων που μπορεί να εμφανίζονται πολλές φορές σε μια εφαρμογή. Για παράδειγμα, έστω μια εφαρμογή με δύο text boxes με ονόματα "Όνομα" και "Επώνυμο". Η μεταβλητή συστήματος που περιέχει το περιεχόμενο ενός text box είναι η EntryText. Για να προσπελάσουμε το περιεχόμενο του πρώτου textbox γράφουμε EntryText@"Ονομα" ενώ για το πρώτο EntryText@"Επώνυμο".

Οι συναρτήσεις συμβολίζονται ως εξής: όνομα_συνάρτησης(παράμετρος1, παράμετρος2 ...). Υπάρχουν και σε αυτή την περίπτωση συναρτήσεις συστήματος και συναρτήσεις χρήστη. Η υλοποίηση των συναρτήσεων χρήστη γίνεται διαμέσου βιβλιοθηκών συναρτήσεων υλοποιημένων ως DLLs. Οι διαθέσιμες συναρτήσεις φαίνονται μέσω της επιλογής Variables_ShowFunctions.

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

Διανομή της εφαρμογής

Μετά την ολοκλήρωση της ανάπτυξης μιας εφαρμογής, μέσω της επιλογής "File_Package", δημιουργείται το εκτελέσιμο αρχείο που διανέμεται στους πελάτες και το οποίο δεν απαιτεί το περιβάλουν του AuthorWare Star για να εκτελεστεί.