สร้างบทสนทนาที่ลื่นไหล หมดปัญหาตัวละครพูดแทรกกัน!
การเล่านิทานที่ดี ตัวละครจะต้องตอบโต้กันอย่างเป็นธรรมชาติ หากเราใช้วิธี "กะเวลาเดาใจ" ตัวละครอาจจะพูดทับกันจนคนดูอ่านไม่ทัน วันนี้เราจะมาเรียนรู้ระบบ "การส่งคิว" เพื่อจัดลำดับการพูดให้เหมือนนักแสดงมืออาชีพครับ!
บล็อกคำพูดสีม่วงมี 2 แบบ สำหรับการเล่านิทาน เราต้องเลือกใช้บล็อก say [ข้อความ] for (2) seconds เสมอ เพื่อให้กรอบคำพูดแสดงขึ้นมาตามเวลาที่กำหนด แล้วหายไปเมื่อตัวละครพูดจบ (ถ้าใช้บล็อก say เฉยๆ คำพูดจะค้างอยู่บนจอไม่ยอมหายไปครับ)
เมื่อตัวละครแรกพูดจบประโยค เราจะนำบล็อกสีเหลือง broadcast มาต่อท้ายทันที เพื่อส่งสัญญาณกระแสจิตไปบอกตัวละครอีกตัวว่า "ฉันพูดจบแล้วนะ ตาเธอพูดต่อได้เลย!" โดยที่เราตั้งชื่อข้อความให้เข้าใจง่ายๆ ได้เอง
ตัวละครที่สอง จะต้องสวมหมวก when I receive รอเอาไว้ เมื่อได้รับสัญญาณชื่อตรงกันปุ๊บ เขาก็จะเริ่มรันบล็อก say เพื่อตอบโต้กลับทันที! วิธีนี้ทำให้บทสนทนาต่อกันเป๊ะ 100% โดยไม่ต้องเดาเวลา
ทำไมเราถึงไม่ควรใช้บล็อก wait (รอ) เพื่อกะเวลา? เพราะถ้าเราแต่งนิทานยาวๆ แล้ววันหนึ่งอยากแก้ไขบทสนทนาประโยคแรกให้สั้นลง เราจะต้องไปนั่งไล่บวกลบคณิตศาสตร์เพื่อแก้ไขเวลาในบล็อก wait ของตัวละครอื่นๆ ใหม่ทั้งหมด! การใช้ broadcast จึงช่วยประหยัดเวลาและทำงานได้ฉลาดกว่ามากครับ
ให้น้องๆ เพิ่มตัวละครมาอีก 1 ตัว (เช่น หมีเบน) แล้วมาเขียนบทสนทนาต่อจาก EP.1 กันเลย!
say [Hello!] for (2) seconds
broadcast [message1]
when I receive [ตาของหมีเบน]
say [สวัสดีจ้าไดโนเสาร์!] for (2) seconds
เมื่อต่อบล็อกครบแล้ว ให้ กดปุ่มธงเขียว! ถ้าน้องๆ เห็นไดโนเสาร์พูดก่อน 2 วินาที แล้วพอคำพูดหายไปปุ๊บ หมีเบนก็พูดตอบกลับทันทีแบบไม่ทับซ้อนกัน... แปลว่าน้องๆ เข้าใจเวทมนตร์ Broadcast แล้ว!
ทดสอบความเข้าใจเรื่องการจัดลำดับบทสนทนา!
ข้อที่ 1: การใช้บล็อก "say [ข้อความ]" แบบธรรมดา (ไม่มีคำว่า for 2 seconds) จะส่งผลต่อการเล่านิทานอย่างไร?
ข้อที่ 2: หากต้องการให้ "เสือ" เริ่มพูดโต้ตอบ ทันทีที่ "สิงโต" พูดจบ สิงโตจะต้องใช้บล็อกใดลงท้ายเพื่อส่งสัญญาณ?