Flash CS3 ActionScript 3 Sistem Zarah
Mesej ralat lain berlaku kerana kami mengeluarkan fungsi salji dari dalam fungsi salji salji. Oleh itu, fungsi salji tidak tahu bagaimana mengenali salji salji. Kita perlu membuat perubahan kepada kod fungsi salji untuk memberitahunya untuk mengenali salji salji semasa yang baru diwujudkan. Kami akan menukar "_Snowflake" kepada "event.target" di empat tempat ia berlaku.

Kami mempunyai satu lagi pembetulan sebelum kami dapat menguji filem kami sekali lagi. Mari kita kembali ke kod fungsi salji. Pendengar Acara di dalam kod ini memanggil fungsi salji. Tetapi ia masih mendengar panggung. Kita perlu menukar ini supaya Pemilih Acara dilampirkan kepada setiap kepingan salji yang baru kerana ia dibuat, dan bukan untuk setiap bingkai baru animasi. Di hadapan Kod Pendengar Acara, tukar "peringkat" ke "_Snowflake".

Uji semula. Tiada kesilapan dan kami mempunyai 70 kepingan salji yang jatuh ke bahagian bawah pentas. Tetapi animasi itu berhenti kerana kita tidak membuat apa-apa kepingan salji baru selepas 70 kepingan salji awal. Kita perlu menambah beberapa kod yang akan mengitar semula ini 70 kepingan salji kembali ke bahagian atas pentas. Semasa kami mengalihkan kepingan salji ini kembali ke atas, mari kita gunakan kod Math.random () yang sama yang kami gunakan dalam fungsi salji untuk secara rawak meletakkan salji salji yang dikitar semula kami. Tetapi kali ini kita perlu menggunakan "event.target" bukan "_Snowflake".

Akhirnya, kami perlu mengeluarkan kod removeEventListener dari dalam fungsi salji. Kami tidak mahu menghentikan kepingan salji kami daripada jatuh lagi. Kami mahu mereka pergi ke puncak dan jatuh lagi. Berikut adalah kod baru untuk pernyataan bersyarat.

Uji lagi dan anda akan melihat 70 kepingan salji jatuh dari bahagian atas ke pentas diikuti oleh salji salji yang dikitar semula. Tetapi ada beberapa saat sebelum salji salji yang dikitar semula mula jatuh. Ia akan menjadi animasi yang lebih lancar jika kita boleh menukar kod supaya awal 70 salji salji adalah tempat di seluruh peringkat bukan hanya di bahagian atas. Mari kita kembali ke fungsi salji salji dan tukar "40" ke "400" untuk harta_S_Snowflake.y. Ini akan menempatkan 70 salji salji awal pada kedudukan rawak dari 0 hingga 400 di sepanjang paksi Y yang akan meliputi seluruh peringkat.

Uji lagi dan kami berjaya. Simpan adegan salji anda sebagai SnowScene10.fla.

Sekarang kita mempunyai animasi kita yang dioptimumkan dan menghidupkan dengan sempurna, kita boleh berhenti di sini. Tetapi dengan hanya beberapa perubahan, kita boleh membuat kod ini sistem zarah yang lebih modular. Kemudian kita boleh menggunakan kod itu untuk membuat apa-apa dari hujan ke babi jatuh dari langit. Kami akan berbuat demikian seterusnya.

← Kembali

Hak Cipta 2018 Adobe Systems Incorporated. Hak cipta terpelihara. Pukulan skrin produk Adobe (s) dicetak semula dengan kebenaran daripada Adobe Systems Incorporated. Adobe Photoshop, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Elemen Premiere, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst and Flash Paper adalah sama ada [a] tanda dagangan berdaftar atau tanda dagangan Adobe Systems Incorporated di Amerika Syarikat dan / atau negara lain.