เปลี่ยนตัวละครที่ยืนนิ่ง ให้มีชีวิตชีวาเหมือนการ์ตูนแอนิเมชัน!
ถ้านิทานของเรามีแต่นักแสดงยืนคุยกันนิ่งๆ เป็นรูปปั้นคงจะน่าเบื่อแย่เลย วันนี้เราจะมารับบทเป็น "แอนิเมเตอร์" (Animator) สั่งให้ตัวละครขยับแขนขา และเดินไปมาบนฉากได้อย่างนุ่มนวลและเป็นธรรมชาติครับ
รู้หรือไม่? ตัวละคร 1 ตัวใน Scratch มักจะมีหลายท่าทางซ่อนอยู่ในแท็บ Costumes หากเรานำบล็อก next costume (ชุดถัดไป) หมวดสีม่วง มาต่อกัน ตัวละครจะสลับท่าทางไปมาเหมือนภาพเคลื่อนไหว (Flipbook) เลยครับ
ถ้าเราต้องเรียงบล็อกเปลี่ยนชุด 100 อัน สคริปต์คงยาวทะลุจอ! ให้เราใช้บล็อก repeat (ทำซ้ำ) มาครอบเอาไว้แทน แต่ระวังนะ! ต้องใส่บล็อก wait (รอ) เข้าไปหน่วงเวลาสัก 0.1 วินาทีด้วย ไม่อย่างนั้นตัวละครจะขยับเร็วเกินไปจนมองไม่ทันครับ
ในการเล่านิทาน การใช้คำสั่ง go to หรือ move อาจจะทำให้ตัวละครดูเหมือน "วาร์ป" หรือกระตุกเกินไป ลองเปลี่ยนมาใช้คำสั่งหมวดสีฟ้า glide (1) secs to x:( ) y:( ) ตัวละครจะค่อยๆ ลอยสไลด์ไปยังจุดหมายอย่างนุ่มนวลตามเวลาที่เรากำหนดครับ
ถ้าอยากให้ตัวละคร "ขยับขาเดินไปพร้อมๆ กับเคลื่อนที่สไลด์ไปข้างหน้า" น้องๆ ต้องเขียนคำสั่ง 2 ชุดแยกกัน แล้วใช้เสาอากาศ when I receive ชื่อเดียวกัน เพื่อสั่งให้สคริปต์เปลี่ยนชุด (Animation) และสคริปต์สไลด์ (Glide) ทำงานพร้อมกันแบบคู่ขนานครับ!
when I receive
จาก EP.2 หลังจากหมีเบนพูดจบ เราจะให้หมีเบนชวนไดโนเสาร์เดินไปพร้อมกัน มาลุยกันเลย!
broadcast [ข้อความใหม่]
when I receive [ออกเดินทาง]
repeat (10)
next costume
wait (0.1) seconds
glide (1) secs to x:( ) y:( )
กด ปุ่มธงเขียว เลย! ลองดูสิว่า ไดโนเสาร์กับหมีคุยกันจบปุ๊บ ไดโนเสาร์ของเราขยับขาและสไลด์ตัวไปข้างหน้าพร้อมๆ กันหรือเปล่า? ถ้าใช่... ขอต้อนรับน้องๆ เข้าสู่การเป็นแอนิเมเตอร์มือโปร!
มาทดสอบความเป็นแอนิเมเตอร์ในตัวน้องๆ กันเถอะ!
ข้อที่ 1: การสร้างแอนิเมชันให้ตัวละครขยับท่าทางอย่างต่อเนื่อง (เช่น วิ่งขยับแขนขา) ควรใช้บล็อกใดทำงานคู่กัน?
ข้อที่ 2: หากต้องการให้นางฟ้าบินจากจุด A ไปจุด B อย่างนุ่มนวลเหมือนในภาพยนตร์ ไม่ให้ดูเหมือนการวาร์ป ควรใช้คำสั่งใด?