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

Using Events

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

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

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

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

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

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

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

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

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

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

บล็อกที่ขึ้นต้นด้วย when สามารถพบได้ติดอยู่กับเซ็นเซอร์ โดยจะเรียกใช้บล็อกที่เชื่อมต่ออยู่เมื่อตรงตามเงื่อนไขของเซ็นเซอร์นั้น ตัวอย่างเช่น บล็อก when Brain screen และ when Bumper Switch

เมื่อหน้าจอ Brain ปิดบังส่วนต่างๆ#
เมื่อหน้าจอ Brain [กด v] :: hat events
เมื่อสวิตช์กันชนบล็อกหมวก#
เมื่อ [BumperA v] [กด v] :: hat events