Έχοντας υλοποιήσει τις παραπάνω δραστηριότητες, θα παρατηρήσατε πως όλα τα animations που φτιάξαμε εκτελούνταν επαναληπτικά. π.χ η μπλε μπάλα στο Motion Tween animation μετακινιόταν επαναληπτικά από τα αριστερά προς τα δεξιά της σκηνής. Η ερώτηση που προκύπτει είναι πως μπορούμε να χειριστούμε ένα animation; Πως θα μπορέσουμε να του ‘πούμε’ για παράδειγμα μόλις φτάσεις στο τελευταίο frame της timeline να σταματήσεις;
Σε όλα τα παραπάνω η Flash δίνει απάντηση μέσω μιας γλώσσα προγραμματισμού που είναι ενσωματωμένη μέσα στην ίδια την flash και η οποία καλείτε actionscript. Αν και η εκμάθηση της Actionscript είναι πέραν από τους στόχους αυτού του βιβλίου θα προσπαθήσουμε να δώσουμε δύο παραδείγματα χρήσης της.
Κάθε ενέργεια (action) αποτελείται από δύο διακριτά στοιχεία: Τους Χειριστές γεγονότων (Event Handler) και τα γεγονότα (Event)
• Οι Χειριστές γεγονότων είναι οδηγίες που λένε στην Flash να κάνει κάτι κατά την εκδήλωση ενός συγκεκριμένου συμβάν. Για παράδειγμα το “on (release)” είναι ένας χειριστής που τον βάζουμε εμείς σαν σχεδιαστές σε ένα κουμπί που έχουμε φτιάξει σε ένα αρχείο του Flash. Όταν ένας χρήστης κάνει κλικ με το ποντίκι πάνω σε ένα κουμπί που έχει έναν τέτοιον χειριστή κάποια ενέργεια θα εκτελεστεί.
• Τα Γεγονότα-Συμβάντα ενεργοποιούν κάποιες ιδιότητες και ενέργειες. Για παράδειγμα ένα συμβάν είναι το “Stop All sounds” το οποίο λέει στην Flash να σταματήσει την παραγωγή μουσικής Μπορούμε να τοποθετήσουμε τα Actionscripts σε δύο διαφορετικές κατηγορίες ανάλογα με το είδος ενεργοποίησης των συμβάντων:
• Frame actions (Ενέργειες καρέ): Αυτά τα συμβάντα συσχετίζονται με Frames. Ο χειριστής συμβάντων που ενεργοποιεί ένα τέτοιο συμβάν είναι η κεφαλή (playhead) του διαγράμματος ροής χρόνου (ένα κόκκινο ορθογώνιο πάνω σε ένα Frame). Για παράδειγμα στην ενότητα Flash Μέρος Β: Animation-Motion Tween φτιάξαμε ένα motion tween animation με 35 καρέ. Όταν μετατρέψαμε το αρχείο .fla σε .swf η κίνηση της μπάλας ξεκινούσε από το καρέ 1 έφτανε μέχρι και το καρέ 35 και εν συνεχεία η κίνηση επαναλαμβανόταν ξανά από την αρχή. Αυτό που μπορούμε να κάνουμε για να σταματήσουμε την κίνηση της μπάλας στο καρέ 35 την πρώτη στιγμή που θα φτάσει εκεί είναι να βάλουμε μια Stop ενέργεια στο καρέ 35.
• Objects actions (Ενέργειες αντικειμένων): Αυτές οι ενέργειες συσχετίζονται με αντικείμενα (π.χ ένα κουμπί που είδαμε στην ενότητα Flash Μέρος Ε:Κουμπιά (buttons)) και για να ενεργοποιηθούν απαιτούν ένα είδος αλληλεπίδρασης με το χρήστη π.χ να κάνει κλικ πάνω σε ένα κουμπί.
4. Στην αριστερή στήλη εμφανίζονται σε
κατηγορίες εντολές script τις οποίες μπορούμε
να εισάγουμε στο δεξιό παράθυρο. Επιλέξτε με
το ποντίκι σας Global Functions | Timeline
Control | stop.
5. Κάντε διπλό κλικ πάνω στην ενέργεια Stop ώστε να εισαχθεί στο δεξιό παράθυρο.
6. Τέλος, κλείστε το πάνελ κάνοντας κλικ στο βελάκι που σημειώνεται με μπλε έλλειψη στην.
7. Αυτήν την στιγμή έχετε προσθέσει μια ενέργεια στο καρέ 35 που ενεργοποιείται μόλις η κεφαλή της timeline φτάσει στο καρέ 35. Για να δείτε το αποτέλεσμα της ενέργειας επιλέξτε Control | test scene από το βασικό μενού για να μετατρέψετε το .fla αρχείο σε .swf. Παρατηρήστε πως σε αντίθεση με αυτό που γινόταν στην Flash Μέρος Β: Animation-Motion Tween μόλις η κεφαλή φτάσει στο τελευταίο καρέ η κίνηση της μπάλας σταματάει.
Σε όλα τα παραπάνω η Flash δίνει απάντηση μέσω μιας γλώσσα προγραμματισμού που είναι ενσωματωμένη μέσα στην ίδια την flash και η οποία καλείτε actionscript. Αν και η εκμάθηση της Actionscript είναι πέραν από τους στόχους αυτού του βιβλίου θα προσπαθήσουμε να δώσουμε δύο παραδείγματα χρήσης της.
Κάθε ενέργεια (action) αποτελείται από δύο διακριτά στοιχεία: Τους Χειριστές γεγονότων (Event Handler) και τα γεγονότα (Event)
• Οι Χειριστές γεγονότων είναι οδηγίες που λένε στην Flash να κάνει κάτι κατά την εκδήλωση ενός συγκεκριμένου συμβάν. Για παράδειγμα το “on (release)” είναι ένας χειριστής που τον βάζουμε εμείς σαν σχεδιαστές σε ένα κουμπί που έχουμε φτιάξει σε ένα αρχείο του Flash. Όταν ένας χρήστης κάνει κλικ με το ποντίκι πάνω σε ένα κουμπί που έχει έναν τέτοιον χειριστή κάποια ενέργεια θα εκτελεστεί.
• Τα Γεγονότα-Συμβάντα ενεργοποιούν κάποιες ιδιότητες και ενέργειες. Για παράδειγμα ένα συμβάν είναι το “Stop All sounds” το οποίο λέει στην Flash να σταματήσει την παραγωγή μουσικής Μπορούμε να τοποθετήσουμε τα Actionscripts σε δύο διαφορετικές κατηγορίες ανάλογα με το είδος ενεργοποίησης των συμβάντων:
• Frame actions (Ενέργειες καρέ): Αυτά τα συμβάντα συσχετίζονται με Frames. Ο χειριστής συμβάντων που ενεργοποιεί ένα τέτοιο συμβάν είναι η κεφαλή (playhead) του διαγράμματος ροής χρόνου (ένα κόκκινο ορθογώνιο πάνω σε ένα Frame). Για παράδειγμα στην ενότητα Flash Μέρος Β: Animation-Motion Tween φτιάξαμε ένα motion tween animation με 35 καρέ. Όταν μετατρέψαμε το αρχείο .fla σε .swf η κίνηση της μπάλας ξεκινούσε από το καρέ 1 έφτανε μέχρι και το καρέ 35 και εν συνεχεία η κίνηση επαναλαμβανόταν ξανά από την αρχή. Αυτό που μπορούμε να κάνουμε για να σταματήσουμε την κίνηση της μπάλας στο καρέ 35 την πρώτη στιγμή που θα φτάσει εκεί είναι να βάλουμε μια Stop ενέργεια στο καρέ 35.
• Objects actions (Ενέργειες αντικειμένων): Αυτές οι ενέργειες συσχετίζονται με αντικείμενα (π.χ ένα κουμπί που είδαμε στην ενότητα Flash Μέρος Ε:Κουμπιά (buttons)) και για να ενεργοποιηθούν απαιτούν ένα είδος αλληλεπίδρασης με το χρήστη π.χ να κάνει κλικ πάνω σε ένα κουμπί.
Δραστηριότητα
Στην δραστηριότητα Flash Μέρος Β: Animation-Motion Tween είχαμε φτιάξει ένα κύκλο ο οποίος μετακινιόταν επαναληπτικά από τα αριστερά προς τα δεξιά της σκηνής. Στην παρούσα δραστηριότητα θα ‘επιβάλουμε’ στον κύκλο μόλις φτάσει για πρώτη φορά στο τελευταίο καρέ να σταματήσει την κίνηση του.
Απάντηση
1. Αρχικά ανοίξτε το αρχείο .fla που είχατε φτιάξει στην Flash Μέρος Β: Animation-Motion Tween. Η Timeline που θα βλέπετε στο παράθυρο του Flash είναι αυτή της εικόνας:
2. Κάντε δεξί κλικ με το ποντίκι πάνω στο καρέ 35 (το τελευταίο καρέ της ταινίας) της timeline του Layer 1.
3. Από το μενού που εμφανίζεται επιλέξτε την τελευταία επιλογή Actions. To πάνελ ενεργειών εμφανίζεται κάτω ακριβώς από την σκηνή. Εάν δεν είναι ενεργοποιημένος ο βοηθός script πατήστε πάνω στο κουμπί Script Assist για να δείτε το πάνελ με την μορφή που εμφανίζεται παρακάτω:
2. Κάντε δεξί κλικ με το ποντίκι πάνω στο καρέ 35 (το τελευταίο καρέ της ταινίας) της timeline του Layer 1.
3. Από το μενού που εμφανίζεται επιλέξτε την τελευταία επιλογή Actions. To πάνελ ενεργειών εμφανίζεται κάτω ακριβώς από την σκηνή. Εάν δεν είναι ενεργοποιημένος ο βοηθός script πατήστε πάνω στο κουμπί Script Assist για να δείτε το πάνελ με την μορφή που εμφανίζεται παρακάτω:
5. Κάντε διπλό κλικ πάνω στην ενέργεια Stop ώστε να εισαχθεί στο δεξιό παράθυρο.
6. Τέλος, κλείστε το πάνελ κάνοντας κλικ στο βελάκι που σημειώνεται με μπλε έλλειψη στην.
7. Αυτήν την στιγμή έχετε προσθέσει μια ενέργεια στο καρέ 35 που ενεργοποιείται μόλις η κεφαλή της timeline φτάσει στο καρέ 35. Για να δείτε το αποτέλεσμα της ενέργειας επιλέξτε Control | test scene από το βασικό μενού για να μετατρέψετε το .fla αρχείο σε .swf. Παρατηρήστε πως σε αντίθεση με αυτό που γινόταν στην Flash Μέρος Β: Animation-Motion Tween μόλις η κεφαλή φτάσει στο τελευταίο καρέ η κίνηση της μπάλας σταματάει.
