Βελτιστοποίηση του κινούμενου συστήματος CS3 σωματιδίων Flash
Τώρα που έχουμε το FlashR Το CS3 σωματιδιακό σύστημα χιονιού κινούμενων σχεδίων λειτουργεί ακριβώς όπως θέλουμε, είναι καιρός να βελτιστοποιήσουμε τον κώδικα προγράμματος σκηνής χιονιού. Αν δοκιμάσατε την κινούμενη εικόνα που έχουμε γράψει στα προηγούμενα μαθήματα, ίσως παρατηρήσατε ότι μετά από λίγο καιρό, η κινούμενη εικόνα τείνει να αποδίδει στον υπολογιστή σας πόρους. Σε αυτό το σεμινάριο, θα εξετάσουμε μερικούς τρόπους για να κάνουμε το animation πιο αποδοτικό.

Καθώς ο κώδικας στέκεται τώρα, χρησιμοποιούμε έναν ακροατή συμβάντος για να ακούσουμε κάθε νέο πλαίσιο της κινούμενης εικόνας. Με κάθε νέο πλαίσιο, η λειτουργία νιφάδα χιονιού (χειριστής συμβάντων) δημιουργεί μια νέα νιφάδα χιονιού και προσθέτει τη νιφάδα χιονιού στη λίστα εμφάνισης Flash. Στη συνέχεια, χρησιμοποιούμε το Math.random () για να ταξινομήσετε τυχαία τις ιδιότητες θέσης και άλφα αυτής της νιφάδας χιονιού. Χρησιμοποιούμε έναν δεύτερο ακροατή συμβάντος για να καλέσουμε τη λειτουργία χιονόπτωσης, και πάλι με κάθε νέο σκελετό. Η λειτουργία χιονόπτωσης ελέγχει εάν η νιφάδα χιονιού έχει μετακινηθεί πέρα ​​από το δεξί ή το κάτω άκρο της σκηνής. Αν ναι, αφαιρούμε το δεύτερο ακροατή συμβάντος που επαναλαμβάνει τη λειτουργία χιονόπτωσης. Αυτό προκαλεί τη διακοπή μιας νιφάδας, ενώ οι άλλες νιφάδες χιονιού συνεχίζουν να πέφτουν. Η επανάληψη της λειτουργίας νιφάδα χιονιού δημιουργεί το κινούμενο σχέδιο χιονόπτωσης. Αυτό που πρέπει να κάνουμε τώρα είναι να αλλάξουμε τον κώδικα έτσι ώστε να είναι πιο αποτελεσματικός.

Μέθοδος 1

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

εάν (_Snowflake.y> 370 || _Snowflake.x> 550)
{
stage.removeEventListener (Event.ENTER_FRAME, χιονόπτωση);
removeChild (_Snowflake);
}
αλλού
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }}


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

Επόμενο →

Πνευματικά δικαιώματα 2018 Adobe Systems Incorporated. Ολα τα δικαιώματα διατηρούνται. Οι φωτογραφίες της οθόνης του προϊόντος Adobe ανατυπώνονται με την άδεια της Adobe Systems Incorporated. Adobe Photoshop, Adobe Photoshop, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, είναι / είναι είτε [ή] καταχωρισμένο εμπορικό σήμα ή εμπορικό σήμα της Adobe Systems Incorporated στις Ηνωμένες Πολιτείες ή / και σε άλλες χώρες.


Οδηγίες Βίντεο: Advanced Intelligent Robotics - Trophy | Τροφή Challenge 2019 (Οκτώβριος 2021).