이벤트 사용#
이 튜토리얼에서는 VEXcode IQ(2세대)에서 이벤트를 사용하는 방법을 다룹니다. 튜토리얼을 마치면 이벤트를 브로드캐스트하고 다른 블록 스택이 해당 이벤트에 응답하도록 하는 방법을 알게 될 것입니다.
이벤트를 사용하면 프로젝트 내의 서로 다른 블록 스택이 로직 - 이벤트 범주의 블록을 사용하여 서로 통신할 수 있습니다. 이름이 broadcast로 시작하는 블록은 이벤트가 발생했음을 알리고, 이름이 when으로 시작하는 블록은 해당 이벤트에 응답하여 연결된 블록 스택을 실행합니다.
프로젝트에 방송 블록 또는 방송 및 대기 블록을 추가하세요.
방송 블록의 드롭다운 메뉴를 선택하여 기존 이벤트를 선택하거나, 이벤트를 생성, 이름 변경 또는 삭제할 수 있습니다.
워크스페이스에 ‘이벤트 수신 시’ 블록을 추가하고, 드롭다운 메뉴를 ‘브로드캐스트’ 블록에서 사용한 이벤트 이름과 일치하도록 설정하세요. 그런 다음, 해당 이벤트가 브로드캐스트될 때마다 실행될 블록들을 그 아래에 연결하면 됩니다.
when I receive 블록의 이벤트 이름이 broadcast 블록에서 사용하는 이벤트 이름과 일치하면, 프로젝트를 실행했을 때 두 스택이 동시에 실행됩니다. 예를 들어, 로봇은 ‘Brain’s Check’ 버튼이 눌릴 때까지 회전하다가, 버튼이 눌리면 로봇의 주행을 멈추는 이벤트를 브로드캐스트합니다.
시작 시
[오른쪽 v] 방향으로 회전
<Brain [확인 v] 버튼 눌림?>까지 기다리기
[my_event v] 방송
[my_event v] 수신 시
주행 정지
when으로 시작하는 블록은 다른 장치 범주에서도 찾아볼 수 있으며, 해당 장치의 조건이 충족될 때마다 연결된 블록이 실행됩니다. 예를 들어, Brain 버튼 블록과 범퍼 블록이 있습니다.
Brain [◀ v] 버튼 [눌림 v] 시
[Bumper1 v] [눌림 v] 시