Mengoptimalkan Animasi Sistem Partikel Flash CS3
Sekarang kita memiliki FlashR CS3 sistem partikel salju animasi bekerja persis seperti yang kita inginkan, saatnya untuk mengoptimalkan kode program adegan salju. Jika Anda menguji animasi yang telah kami tulis dalam tutorial sebelumnya, Anda mungkin memperhatikan bahwa setelah beberapa waktu, animasi cenderung untuk tugas sumber daya komputer Anda. Dalam tutorial ini, kita akan melihat beberapa cara untuk membuat animasi lebih efisien.

Saat kode berdiri sekarang, kami menggunakan satu Event Listener untuk mendengarkan setiap frame baru dari animasi. Dengan setiap bingkai baru, fungsi kepingan salju (pengendali acara) membuat kepingan salju baru dan menambahkan kepingan salju itu ke daftar tampilan Flash. Selanjutnya, kami menggunakan Math.random () untuk mengacak posisi dan properti alpha dari kepingan salju ini. Kami menggunakan Pendengar Acara kedua untuk memanggil fungsi salju turun, lagi dengan setiap bingkai baru. Fungsi salju turun untuk melihat apakah kepingan salju telah bergerak melampaui tepi kanan atau bawah panggung. Jika demikian, kami menghapus Event Listener kedua yang mengulangi fungsi salju turun. Hal ini menyebabkan satu kepingan salju berhenti jatuh, sedangkan kepingan salju lainnya terus jatuh. Pengulangan fungsi kepingan salju menciptakan animasi salju. Yang perlu kita lakukan sekarang adalah mengubah kode sehingga lebih efisien.

Metode Satu

Metode pertama membutuhkan penambahan hanya satu baris kode ke program kami. Kami sudah memiliki pernyataan kondisional di dalam fungsi salju yang memeriksa untuk melihat apakah kepingan salju telah melampaui tahap dan, jika demikian, menghapus Event Listener dan menghentikan kepingan salju agar tidak jatuh.
Kepingan salju berhenti bergerak tetapi masih terlihat di bagian bawah panggung. Karena masih terlihat dan masih dalam daftar tampilan, Flash masih menghabiskan sumber daya pada kepingan salju ini. Jika kita menghapus kepingan salju dari daftar tampilan, itu akan membebaskan sumber daya dan animasi akan lebih efisien. Untuk menghapus kepingan salju yang tidak lagi kita perlukan pada daftar tampilan, kita dapat menambahkan kode removeChild ke pernyataan bersyarat.

if (_Snowflake.y> 370 || _Snowflake.x> 550)
{
stage.removeEventListener (Event.ENTER_FRAME, salju turun);
removeChild (_Snowflake);
}
lain
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }


Saat Anda menguji film, kepingan salju menghilang saat mencapai tepi kanan atau bawah panggung dan animasinya lebih efisien.

Selanjutnya

Hak Cipta 2018 Adobe Systems Incorporated. Seluruh hak cipta. Tangkapan layar produk Adobe dicetak ulang dengan izin dari Adobe Systems Incorporated. Adobe, Photoshop, Album Photoshop, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Kembang Api, Berkontribusi, Memikat, Flash Catalyst dan Flash Paper adalah [adalah] merek dagang terdaftar [s] atau merek dagang [s] dari Adobe Systems Incorporated di Amerika Serikat dan / atau negara lain.