이벤트 사용#

Using Events

이 튜토리얼에서는 VEXcode IQ(2세대)에서 이벤트를 사용하는 방법을 다룹니다. 튜토리얼을 마치면 이벤트를 브로드캐스트하고 다른 블록 스택이 해당 이벤트에 응답하도록 하는 방법을 알게 될 것입니다.

이벤트를 사용하면 프로젝트 내의 서로 다른 블록 스택이 로직 - 이벤트 범주의 블록을 사용하여 서로 통신할 수 있습니다. 이름이 broadcast로 시작하는 블록은 이벤트가 발생했음을 알리고, 이름이 when으로 시작하는 블록은 해당 이벤트에 응답하여 연결된 블록 스택을 실행합니다.

프로젝트에 방송 블록 또는 방송 및 대기 블록을 추가하세요.

로직 - 이벤트 툴박스 범주의 스크린샷으로, 브로드캐스트 및 브로드캐스트/대기 블록이 강조 표시되어 있습니다.

방송 블록의 드롭다운 메뉴를 선택하여 기존 이벤트를 선택하거나, 이벤트를 생성, 이름 변경 또는 삭제할 수 있습니다.

방송 블록의 드롭다운 메뉴가 열린 화면의 스크린샷입니다. 'my_event' 옵션과 함께 '새 이벤트', '이벤트 이름 변경', 'my_event' 이벤트 삭제 옵션이 표시됩니다.

워크스페이스에 ‘이벤트 수신 시’ 블록을 추가하고, 드롭다운 메뉴를 ‘브로드캐스트’ 블록에서 사용한 이벤트 이름과 일치하도록 설정하세요. 그런 다음, 해당 이벤트가 브로드캐스트될 때마다 실행될 블록들을 그 아래에 연결하면 됩니다.

로직 - 이벤트 툴박스 범주의 스크린샷입니다. '시작 시점'과 '수신 시점' 블록이 강조 표시되어 있습니다.

when I receive 블록의 이벤트 이름이 broadcast 블록에서 사용하는 이벤트 이름과 일치하면, 프로젝트를 실행했을 때 두 스택이 동시에 실행됩니다. 예를 들어, 로봇은 ‘Brain’s Check’ 버튼이 눌릴 때까지 회전하다가, 버튼이 눌리면 로봇의 주행을 멈추는 이벤트를 브로드캐스트합니다.

시작 시, 확인 버튼이 눌릴 때까지 회전하다가, 확인 버튼이 눌리면 로봇을 멈추는 이벤트를 전송합니다.#
시작 시
[오른쪽 v] 방향으로 회전
<Brain [확인 v] 버튼 눌림?>까지 기다리기
[my_event v] 방송
[my_event v] 수신 시
주행 정지

when으로 시작하는 블록은 다른 장치 범주에서도 찾아볼 수 있으며, 해당 장치의 조건이 충족될 때마다 연결된 블록이 실행됩니다. 예를 들어, Brain 버튼 블록과 범퍼 블록이 있습니다.

뇌 버튼 모자 블록이 있을 때.#
Brain [◀ v] 버튼 [눌림 v] 시
범퍼 캡 블록이 있을 때.#
[Bumper1 v] [눌림 v] 시