คุณสามารถรับรู้ภาพเคลื่อนไหวได้อย่างง่ายดายโดยใช้ตัวควบคุมรูปภาพและตัวจับเวลาใน Visual Basic บทความนี้จะแนะนำหลักการพื้นฐานของการเขียนโปรแกรมแอนิเมชัน Visual Basic และเทคนิคการเขียนโปรแกรมเพื่อสร้างแอนิเมชันสามประเภทที่แตกต่างกัน
1. หลักการพื้นฐาน
----แอนิเมชันเป็นการจำลองการเคลื่อนไหว ซึ่งทำได้โดยการแสดงชุดรูปภาพที่เกี่ยวข้องบนหน้าจออย่างรวดเร็ว ดังนั้นพื้นฐานในการทำให้เกิดภาพเคลื่อนไหวคือการแสดงภาพและการเคลื่อนไหวหรือการเปลี่ยนแปลงของภาพอย่างรวดเร็วและสม่ำเสมอ---- ใน Visual Basic ให้ใช้ฟังก์ชัน LoadPicture เพื่อโหลดไฟล์รูปภาพในรูปแบบ BMP, ICO และ WMF ลงในหน่วยความจำ และกำหนดค่าส่งคืนฟังก์ชันให้กับคุณสมบัติ Picture ของวัตถุ Image เพื่อแสดงรูปภาพในวัตถุ Image มีวิธีการพื้นฐานสามวิธีในการทำให้รูปภาพเคลื่อนไหวหรือเปลี่ยนแปลง กล่าวคือ:
---- คุณสมบัติ Enabled ของวัตถุ Timer จะกำหนดว่าเหตุการณ์ Timer นั้นถูกต้องหรือไม่ การตั้งค่าคุณสมบัติ Enabled เป็น True จะเป็นการเริ่มต้นเหตุการณ์ Timer (เช่น การเริ่มภาพเคลื่อนไหว) เป็น False จะทำให้เหตุการณ์ Timer ไม่ถูกต้อง (เช่น การหยุดภาพเคลื่อนไหว)
2. ภาพเคลื่อนไหวแบบไม่มีการเคลื่อนไหว
----แอนิเมชันที่ไม่มีตำแหน่งหมายความว่าวัตถุที่เคลื่อนไหวไม่เคลื่อนไหว แต่รูปภาพจะเปลี่ยนแปลงอยู่ตลอดเวลา ตัวอย่างทั่วไปคือการพลิกหนังสือ วิธีเพื่อให้ได้ภาพเคลื่อนไหวแบบไร้การเคลื่อนไหวคือการตั้งค่าวัตถุ Image และวัตถุ Timer เรียกใช้ฟังก์ชัน LoadPicture ในระหว่างเหตุการณ์ Timer เพื่อโหลดภาพต่างๆ และกำหนดคุณลักษณะ Picture ของวัตถุ Image เพื่อแสดงภาพต่างๆ ในวัตถุนั้น คือ ดำเนินการเปลี่ยนแปลงรูปภาพ----ต่อไปนี้เป็นตัวอย่างของแอนิเมชั่นหนังสือพลิก เมื่อโปรแกรมเริ่มต้น หนังสือที่เปิดอยู่จะแสดงขึ้นในแบบฟอร์ม คลิกหนังสือด้วยปุ่มซ้ายของเมาส์เพื่อเริ่มพลิกหนังสือ คลิกหนังสือด้วยปุ่มซ้ายของเมาส์อีกครั้งเพื่อหยุดการพลิกหนังสือ ไฟล์บิตแมป book1.bmp~book4.bmp ตามลำดับแสดงถึงตำแหน่งที่แตกต่างกันของหน้าที่ถูกเปิดเมื่อทำการพลิกหนังสือ โดยจะจัดเก็บไว้ในไดเร็กทอรีซึ่งเป็นที่ตั้งของโปรเจ็กต์ปัจจุบัน
----ตั้งค่า Image object Image1 และ Timer object Timer1 ในรูปแบบ (Form1) ที่ต้องการแสดงภาพเคลื่อนไหว และตั้งค่าคุณสมบัติตามที่แสดงในตารางต่อไปนี้ ใช้ค่าเริ่มต้นสำหรับคุณสมบัติที่ไม่แสดง
-
-
-
3. ภาพเคลื่อนไหวการกระจัดเฟรมเดียว
----แอนิเมชันการกระจัดเฟรมเดียวหมายถึงแอนิเมชันที่เกิดจากการเปลี่ยนตำแหน่งของรูปภาพเดียวกันอยู่ตลอดเวลา ตัวอย่างทั่วไปของเหตุการณ์นี้คือเมื่อเมฆถูกลมพัด วิธีการเขียนโปรแกรมแอนิเมชั่นการกระจัดเฟรมเดียวคือการเรียกใช้เมธอด Move ของออบเจ็กต์ Image ในระหว่างเหตุการณ์ Timer เพื่อย้ายรูปภาพ----ด้านล่างเป็นตัวอย่างการเคลื่อนที่ของเมฆ เมื่อโปรแกรมเริ่มต้น เมฆจะปรากฏขึ้นในแบบฟอร์ม คลิกเมฆด้วยปุ่มซ้ายของเมาส์ และเมฆจะเริ่มกระพือปีก หากแตะขอบของแบบฟอร์ม เมฆจะเปลี่ยนทิศทางการเคลื่อนที่ คลิกเมฆด้วยปุ่มซ้ายของเมาส์อีกครั้ง และเมฆจะเริ่มเคลื่อนไหว ไฟล์บิตแมป cloud.bmp จะถูกจัดเก็บไว้ในไดเร็กทอรีซึ่งเป็นที่ตั้งของโปรเจ็กต์ปัจจุบัน
----ตั้งค่า Image object Image1 และ Timer object Timer1 ในรูปแบบ (Form1) ที่ต้องการแสดงภาพเคลื่อนไหว และตั้งค่าคุณสมบัติตามที่แสดงในตารางต่อไปนี้ ใช้ค่าเริ่มต้นสำหรับคุณสมบัติที่ไม่แสดง
-
-
-
----โปรดทราบว่าเมื่อเมฆชนขอบและเคลื่อนไปในทิศทางตรงกันข้าม สามารถทำได้โดยการเปลี่ยนสัญญาณของ DetaX และ DetaY4. แอนิเมชั่นการกระจัดหลายเฟรม
----แอนิเมชั่นการกระจัดหลายเฟรมเป็นแอนิเมชั่นที่ซับซ้อนที่สุด ซึ่งรวมลักษณะของแอนิเมชั่นแบบไม่แทนที่และแอนิเมชั่นการแทนที่เฟรมเดียว การเคลื่อนไหวในธรรมชาติส่วนใหญ่มีลักษณะของการกระจัดหลายเฟรม เช่น การบินของนก ในขณะที่ตำแหน่งของนกเคลื่อนไหว ปีกของมันก็กระพือปีกไปด้วย หากต้องการใช้ภาพเคลื่อนไหวแบบหลายเฟรม การเปลี่ยนรูปภาพและการเคลื่อนที่ตำแหน่งของวัตถุรูปภาพจะต้องได้รับการประมวลผลพร้อมกันในระหว่างกระบวนการเหตุการณ์ตัวจับเวลา----ต่อไปนี้เป็นตัวอย่างนกที่บินได้ เมื่อโปรแกรมเริ่มต้น นกจะแสดงขึ้นในแบบฟอร์ม คลิกด้วยปุ่มซ้ายของเมาส์ และนกจะเริ่มกระพือปีก ปุ่มซ้ายของเมาส์อีกครั้งคลิกที่นกและนกจะหยุดบิน ไฟล์บิตแมป bird1.bmp~bird4.bmp ตามลำดับแสดงถึงตำแหน่งต่างๆ ของปีกนกเมื่อมันบิน โดยจะถูกจัดเก็บไว้ในไดเร็กทอรีซึ่งเป็นที่ตั้งของโปรเจ็กต์ปัจจุบัน
----ตั้งค่า Image object Image1 และ Timer object Timer1 ในรูปแบบ (Form1) ที่ต้องการแสดงภาพเคลื่อนไหว และตั้งค่าคุณสมบัติตามที่แสดงในตารางต่อไปนี้ ใช้ค่าเริ่มต้นสำหรับคุณสมบัติที่ไม่แสดง
-
-
-
5. ภาพเคลื่อนไหวแบบซูม
---- อัตราเงินเฟ้อหรือภาวะเงินฝืดของบอลลูนเป็นตัวอย่างคลาสสิกของแอนิเมชันการซูม สามารถใช้แอนิเมชั่นการซูมได้โดยการแก้ไขคุณสมบัติความกว้างและ/หรือความสูงของวัตถุรูปภาพในระหว่างเหตุการณ์ตัวจับเวลา แต่ถ้าคุณต้องการแสดงขนาดศูนย์กลางของวัตถุ คุณควรย้ายวัตถุ Image ไปพร้อมๆ กัน----ต่อไปนี้เป็นตัวอย่างการจำลองขนาดบอลลูนในอากาศ (ศูนย์กลาง) เมื่อโปรแกรมเริ่มต้น บอลลูนจะแสดงในแบบฟอร์ม คลิกด้วยปุ่มซ้ายของเมาส์ และบอลลูนจะเริ่มขยาย ถ้ามันถึงขอบเขตของแบบฟอร์ม บอลลูนจะหดตัวลงเมื่อมีขนาดเท่าเดิม มันจะขยายอีกครั้ง จากนั้นใช้ คลิกปุ่มซ้ายของเมาส์บนบอลลูน จากนั้นบอลลูนจะหยุดปรับขนาด ไฟล์บิตแมป Balloon.bmp จะถูกจัดเก็บไว้ในไดเร็กทอรีซึ่งเป็นที่ตั้งของโปรเจ็กต์ปัจจุบัน
----ตั้งค่า Image object Image1 และ Timer object Timer1 ในรูปแบบ (Form1) ที่ต้องการแสดงภาพเคลื่อนไหว และตั้งค่าคุณสมบัติตามที่แสดงในตารางต่อไปนี้ ใช้ค่าเริ่มต้นสำหรับคุณสมบัติที่ไม่แสดง
วัตถุ
คุณสมบัติ
ตั้งค่า
ภาพที่ 1
รูปภาพ
...(เส้นทางไปยังไฟล์โครงการ)/Balloon.bmp
-
-
-
-