การใช้เหตุการณ์#

Using Events

บทช่วยสอนนี้จะอธิบายวิธีการใช้เหตุการณ์ (Event) ใน VEXcode IQ (รุ่นที่ 2) เมื่อจบบทนี้ คุณจะรู้วิธีการกระจายเหตุการณ์และให้บล็อกกลุ่มอื่นตอบสนองต่อเหตุการณ์นั้น

เหตุการณ์ ช่วยให้กลุ่มบล็อกที่แยกจากกันในโปรเจ็กต์สามารถสื่อสารกันได้ โดยใช้บล็อกจากหมวด ตรรกะ - เหตุการณ์ บล็อกที่มีชื่อขึ้นต้นด้วย broadcast จะส่งสัญญาณว่าเหตุการณ์เกิดขึ้นแล้ว และบล็อกที่มีชื่อขึ้นต้นด้วย when จะเรียกใช้กลุ่มบล็อกที่เชื่อมต่ออยู่เพื่อตอบสนองต่อเหตุการณ์นั้น

เพิ่มบล็อก ออกอากาศ หรือบล็อก ออกอากาศแล้วรอ ลงในโปรเจ็กต์ของคุณ

ภาพหน้าจอของหมวดหมู่กล่องเครื่องมือ Logic - Events โดยมีบล็อก broadcast และ broadcast and wait ถูกไฮไลต์ไว้

เลือกเมนูแบบเลื่อนลงในบล็อก การออกอากาศ เพื่อเลือกกิจกรรมที่มีอยู่แล้ว หรือเพื่อสร้าง เปลี่ยนชื่อ หรือลบกิจกรรม

ภาพหน้าจอแสดงเมนูแบบเลื่อนลงของบล็อกการออกอากาศที่เปิดอยู่ โดยแสดงตัวเลือก my_event พร้อมกับตัวเลือก สร้างกิจกรรมใหม่ เปลี่ยนชื่อกิจกรรม และลบกิจกรรม "my_event"

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

ภาพหน้าจอของหมวดหมู่กล่องเครื่องมือ Logic - Events โดยไฮไลต์บล็อก when started และ when I receive ไว้

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

เมื่อเริ่มทำงาน หุ่นยนต์จะหมุนไปเรื่อยๆ จนกว่าจะกดปุ่มตรวจสอบ จากนั้นจะส่งสัญญาณแจ้งเหตุเพื่อหยุดหุ่นยนต์เมื่อได้รับสัญญาณนั้น#
เมื่อเริ่มต้น
เลี้ยว [ขวา v]
รอจนกว่า <Brain [ตรวจสอบ v] ถูกกด?>
ส่งสัญญาณ [my_event v]
เมื่อฉันได้รับ [my_event v]
หยุดขับ

บล็อกที่ขึ้นต้นด้วย when สามารถพบได้ในหมวดหมู่อุปกรณ์อื่นๆ โดยจะเรียกใช้บล็อกที่เกี่ยวข้องเมื่อตรงตามเงื่อนไขของอุปกรณ์นั้นๆ ตัวอย่างเช่น บล็อก when Brain button และ when Bumper

เมื่อปุ่ม Brain บล็อกหมวก#
เมื่อ Brain [◀ v] [กด v]
เมื่อบล็อกหมวกกันกระแทก#
เมื่อ [Bumper1 v] [กด v]