หิมะถล่มระบบ ActionScript 3 ใน Flash
วิธีที่สอง

วิธีที่สองจะทำให้เราสามารถใช้เกล็ดหิมะเพียงไม่กี่ตัวแทนที่จะสร้างใหม่อย่างต่อเนื่อง แต่การทำเช่นนี้เราจะต้องหาวิธีรีไซเคิลเกล็ดหิมะที่เราสร้างขึ้น ขั้นตอนแรกคือการเปลี่ยนวิธีการที่เราเรียกฟังก์ชั่นเกล็ดหิมะซึ่งสร้างเกล็ดหิมะ เราไม่ต้องการสร้างเกล็ดหิมะใหม่ด้วยเฟรมใหม่แต่ละเฟรมดังนั้นเราจะต้องลบ Event Listener ที่ด้านบนของรหัส

stage.addEventListener (เหตุการณ์ ENTER_FRAME, เกล็ดหิมะ);

ตอนนี้เราจะเพิ่มโค้ดที่จะสร้างเกล็ดหิมะจำนวนเล็กน้อย เราจะใช้คำสั่งวนรอบในฟังก์ชันเกล็ดหิมะเพื่อควบคุมจำนวนเกล็ดหิมะที่จะสร้าง เราต้องการเกล็ดหิมะประมาณ 70 อัน ถ้าเราเพิ่มจำนวนนี้มากขึ้นภาพเคลื่อนไหวก็จะกลายเป็น tasking อีกครั้ง วางเคอร์เซอร์ของคุณไว้ในโค้ดฟังก์ชั่นสโนว์เฟลกหลังจากวงเล็บเปิดเปิดและเพิ่มบรรทัดของโค้ดที่จะบอกให้แฟลชทำซ้ำฟังก์ชั่นเกล็ดหิมะ 70 ครั้ง ถัดไปเพิ่มวงเล็บปีกกาเปิดสำหรับห่วง คุณอาจจำรหัสนี้ได้จากบทช่วยสอนที่สองในชุดนี้

function snowflake (เหตุการณ์: กิจกรรม): void
{
สำหรับ (var i: Number = 0; i <70; i ++)
{


โค้ดฟังก์ชันเกล็ดหิมะที่เหลือควรยังคงเหมือนเดิม ตอนนี้เราต้องปิดการวนรอบด้วยวงเล็บปีกกาปิด วางวงเล็บนี้หลังบรรทัดสุดท้ายของฟังก์ชัน นี่คือรหัส ฉันย้ายเนื้อหาของฟังก์ชันไปทางขวาเพื่อให้อ่านง่ายขึ้น อย่างไรก็ตามรหัสนี้ไม่จำเป็นสำหรับการทำงาน

ในที่สุดเราจำเป็นต้องลบฟังก์ชั่นหิมะออกจากภายในฟังก์ชั่นเกล็ดหิมะ มันง่ายที่จะทำ เพียงแค่ย้ายวงเล็บปีกกาที่ปิดฟังก์ชั่นเกล็ดหิมะจากด้านล่างของโปรแกรมไปที่ด้านล่างของรหัสลูป ตอนนี้เรามีฟังก์ชั่นสองอย่างที่แยกจากกันโดยสิ้นเชิง

เนื่องจากเราไม่ได้เรียกใช้ฟังก์ชัน snowflake อีกต่อไปด้วย Event Listener ที่เราลบออกจากส่วนบนของรหัสเราจะต้องเรียกมันด้วยการเรียกฟังก์ชันแบบง่าย ๆ แทน เนื่องจากเราใช้คำสั่งวนรอบในฟังก์ชันเพื่อทำซ้ำฟังก์ชัน 70 ครั้งเราจึงต้องเรียกใช้ฟังก์ชันเพียงครั้งเดียว ในตอนท้ายของรหัสโปรแกรมทั้งหมดให้วางการเรียกใช้ฟังก์ชันนี้

เกล็ดหิมะ ();

สุดท้ายเราจำเป็นต้องลบโค้ด RemoveChild ที่เราเพิ่มเข้าไปในโค้ดของเราสำหรับวิธีที่หนึ่ง โปรดจำไว้ว่าเราต้องการรีไซเคิลเกล็ดหิมะเหล่านี้แทนการลบออกจากรายการที่แสดง ลบรหัสต่อไปนี้

RemoveChild (_Snowflake);

หากคุณทดสอบภาพยนตร์ของคุณคุณจะได้รับข้อความแสดงข้อผิดพลาด มาดูแลข้อผิดพลาดสุดท้ายในรายการกัน เราได้รับข้อความแสดงข้อผิดพลาดนี้เนื่องจากเรามีอาร์กิวเมนต์หนึ่งรายการอยู่ในวงเล็บของโค้ดฟังก์ชันเกล็ดหิมะ แต่เราไม่ได้ใช้อาร์กิวเมนต์ "Event: Event" นี้อีกต่อไปตั้งแต่เราลบ Event Listener เราจำเป็นต้องลบ "เหตุการณ์: กิจกรรม" ออกจากภายในวงเล็บ

function snowflake (): void

←ย้อนกลับ | ถัดไป→

ลิขสิทธิ์ 2018 Adobe Systems Incorporated สงวนลิขสิทธิ์. ภาพหน้าจอผลิตภัณฑ์ Adobe พิมพ์ซ้ำได้รับอนุญาตจาก Adobe Systems Incorporated Adobe, Photoshop, อัลบั้ม Photoshop, องค์ประกอบ Photoshop, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, องค์ประกอบรอบปฐมทัศน์, สะพาน, After Effects, InCopy, Dreamweaver, แฟลช, ActionScript, ดอกไม้ไฟ, Contribute, Flash Catalyst และ Flash Paper เป็น / เป็น [a] เครื่องหมายการค้าจดทะเบียน [s] หรือเครื่องหมายการค้า [s] ของ Adobe Systems Incorporated ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ