ขนาด Flash ActionScript 3 เพื่อเปิดซองจดหมาย
ตอนนี้เราได้ตั้งโปรแกรมพนังซองจดหมายใน Flash แล้วR แอนิเมชั่นที่จะปรากฏขึ้นเหนือซองจดหมายอย่างสมบูรณ์เมื่อคลิกปุ่มตราประทับเราต้องปรับแต่งแอนิเมชันเพื่อให้ปรากฏว่าแผ่นพับเปิดช้า เราจะทำสิ่งนี้โดยการควบคุมคุณสมบัติทั้งสองของพนัง โปรดจำไว้ว่าวัตถุ newFlap เป็นตัวแปรที่อ้างอิงถึงคลิปภาพยนตร์ FlapAni ในไลบรารี เราใช้ var นี้เพื่อทำให้พนังปรากฏบนเวที

ในการทบทวนอย่างรวดเร็วในบทช่วยสอนล่าสุดเราได้ตั้งโปรแกรมฟังก์ชั่นที่ชื่อว่า openFlap เพื่อเพิ่มวัตถุ newFlap ในรายการแสดงผล เราทำสิ่งนี้ด้วยรหัส addChild นอกจากนี้เรายังตั้งตำแหน่งเริ่มต้นสำหรับคุณสมบัติ newFlap.x และ newFlap.y สิ่งนี้วางด้านล่างของแผ่นพับที่ขอบด้านบนของซองจดหมาย ดังที่ได้กล่าวไว้ก่อนหน้านี้ค่าของคุณสำหรับตำแหน่ง x และ y บนเวทีอาจแตกต่างกันไปขึ้นอยู่กับขนาดและตำแหน่งของซองจดหมายของคุณ

สิ่งแรกที่เราต้องทำคือการทดสอบเพื่อหาค่า newFlap.y ที่จะวางพนังด้านล่างขอบด้านบนของซองจดหมายและจากนั้นจึงมองออกที่จุดเริ่มต้นของภาพเคลื่อนไหว ในความเป็นจริงเราต้องการให้จุดของแผ่นพับสามเหลี่ยมอยู่ใต้ขอบด้านบนของซองจดหมาย ในขณะที่คุณทำการทดลองมันอาจจะง่ายกว่าที่จะย้ายแผ่นพับ 100 พิกเซลไปทางขวาโดยตั้ง newFlap.x เป็น 300 (เพิ่มจาก 100) สิ่งนี้จะทำให้พนังสามารถมองเห็นได้บางส่วนทางด้านขวาของซองจดหมาย หลังจากทดลองฉันพบว่าค่า newFlap.y ที่ 200 คือสิ่งที่ฉันต้องการ นี่คือตำแหน่งเริ่มต้นใหม่ของเราสำหรับแผ่นพับ อย่าลืมใส่ค่า newFlap.x กลับไปเป็นค่าดั้งเดิมก่อนที่จะไปยังขั้นตอนถัดไป

  1. เราจำเป็นต้องเปลี่ยนรหัสที่มีอยู่จากบทช่วยสอนล่าสุดเพื่อแสดงค่า newFlap.y ใหม่ของเราที่ 200 ทดสอบภาพยนตร์ของคุณหลังจากทำการเปลี่ยนแปลงนี้และคุณไม่ควรเห็นแผ่นพับเมื่อคุณคลิกที่ปุ่มตราประทับ

    newFlap.y = 200;

    สำหรับอนิเมชั่นของเราเราต้องการให้แผ่นพับขยับขึ้นไปด้านบนอย่างช้าๆเหนือซองจดหมาย ในเวลาเดียวกันเราจะต้องปรับขนาดพนังเปิดจากค่าเริ่มต้นของศูนย์ โดยเริ่มจากขนาดที่ตั้งค่าเป็นศูนย์เราสามารถลดขนาดของพนังให้เปิดอย่างเต็มที่ ค่า y จะย้ายแผ่นพับขึ้นด้านบน แต่เป็นค่าระดับที่จะทำให้แผ่นพับปรากฏขึ้นเพื่อเปิด

  2. การเปลี่ยนแปลงครั้งต่อไปของฟังก์ชั่นจะเป็นการเพิ่มรหัสที่จะตั้งค่า scaleY เป็นศูนย์และทำให้แผ่นพับเรียบ

    newFlap.scaleY = 0;

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

  3. ภายใต้รหัส scaleY ให้เพิ่ม Event Listener เข้ากับสเตจ นี่คือสิ่งที่จะเรียกใช้ฟังก์ชัน scaleFlap

    stage.addEventListener (เหตุการณ์ ENTER_FRAME, scaleFlap);

  4. ถัดไปเพิ่มฟังก์ชั่นที่สอง คัดลอกและวางรหัสนี้ในฟังก์ชั่น openFlap

    function scaleFlap (เหตุการณ์: กิจกรรม): void
    {
    if (newFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }
    อื่น
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2.9;}
    }


    ลองตรวจสอบรหัส ถ้าคำสั่งแรกจะตรวจสอบค่า scaleY เพื่อดูว่ามันมากกว่าหรือเท่ากับ 1 จำนวน 1 หมายถึงค่ามาตราส่วน 100%) หากเงื่อนไขเป็นจริงเราจะลบ Event Listener และหยุดการเคลื่อนไหว

    หากเงื่อนไขเป็นเท็จเราจะทำแอนิเมชั่นต่อไปโดยการเพิ่มค่า scaleY เป็น. 05 และขยับพนังขึ้นด้านบนเป็นลบ 2.9 (บนสเตจแฟลชเราเลื่อนขึ้นโดยลดค่าตัวเลขของตำแหน่ง Y) สิ่งนี้จะดำเนินการกับเฟรมใหม่แต่ละเฟรมจนกว่าเงื่อนไขสำหรับคำสั่ง if จะเป็นจริง

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

ลิขสิทธิ์ 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 ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ