이벤트#
소개#
이벤트는 블록 집합의 시작을 알리는 신호입니다. VEXcode V5의 이벤트 블록을 사용하면 서로 다른 블록 집합이 서로 다른 시점에 시작될 수 있습니다. 예를 들어, 한 블록 집합은 프로젝트 시작 시에 시작되고, 다른 블록 집합은 프로젝트 내 다른 곳에서 신호가 전송될 때 시작될 수 있습니다.
시작 시 – 프로젝트가 시작될 때 첨부된 블록 스택을 실행합니다.
자율적일 때 – 브레인이 자율적 신호를 수신하면 연결된 블록 스택을 실행합니다.
드라이버 제어 시 – 브레인이 드라이버 제어 신호를 수신하면 연결된 블록 스택을 실행합니다.
이벤트를 수신할 때 – 특정 이벤트가 브로드캐스트될 때 첨부된 블록 스택을 실행합니다.
방송 이벤트 – 다른 블록을 일시 중지하지 않고 이벤트를 트리거합니다.
이벤트 방송 및 대기 – 이벤트를 트리거하고 이벤트의 작업이 완료될 때까지 다른 블록을 일시 중지합니다.
시작했을 때#
시작 시 실행 블록은 프로젝트가 시작될 때 그 아래에 있는 블록들을 실행시킵니다. 모든 프로젝트에는 최소 하나 이상의 시작 시 실행 블록이 필요하며, 이 블록이 없으면 아래에 있는 블록들이 실행되지 않습니다. 여러 개의 시작 시 실행 블록을 사용하여 서로 다른 블록 세트를 동시에 실행할 수도 있습니다.
시작 시
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
예
시작 시
[Turn around at the start of the project.]
[180]도 방향각으로 회전 ▶
자율 주행 시#
자율 작동 시, 해당 HAT 블록은 브레인이 자율 신호를 수신하면 연결된 블록 스택을 실행합니다.
이 블록은 경쟁 프로젝트에만 사용됩니다.
자율 주행 시 :: hat events
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
운전자가 제어할 때#
운전자 제어 시 햇 블록은 브레인이 운전자 제어 신호를 수신하면 연결된 블록 스택을 실행합니다.
이 블록은 경쟁 프로젝트에만 사용됩니다.
when drive control :: hat events
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
내가 이벤트를 받을 때#
이벤트를 수신할 때 hat 블록은 동일한 이벤트 이름을 가진 신호가 브로드캐스트일 때 그 아래 블록을 실행하기 시작합니다.
[my_event v] 수신 시
매개변수 |
설명 |
|---|---|
이벤트 |
실행할 이벤트입니다. 사용자는 기존 이벤트를 선택하거나, 새 이벤트를 생성하거나, 선택한 이벤트의 이름을 변경하거나, 이벤트를 삭제할 수 있습니다. |
예
시작 시
[Display a message and turn at the same time when the screen is pressed.]
<화면 눌림?>까지 기다리기
[turn v] 방송
[turn v] 수신 시
화면에 [Received!] 출력 ▶
[오른쪽 v] 방향으로 [90]도 회전 ▶
방송 이벤트#
브로드캐스트 이벤트 스택 블록은 동일한 이벤트 이름을 가진 모든 이벤트 수신 시 블록을 시작하는 신호를 보냅니다. 프로젝트의 나머지 블록은 이러한 블록이 완료될 때까지 기다리지 않고 계속 실행됩니다.
[message1 v] 방송
매개변수 |
설명 |
|---|---|
이벤트 |
실행할 이벤트입니다. 사용자는 기존 이벤트를 선택하거나, 새 이벤트를 생성하거나, 선택한 이벤트의 이름을 변경하거나, 이벤트를 삭제할 수 있습니다. |
예
시작 시
[Turn left when the screen is pressed.]
무한 반복
<화면 눌림?>이면
[screen_press v] 방송
아니면
[오른쪽 v] 방향으로 회전
[screen_press v] 수신 시
[왼쪽 v] 방향으로 회전
방송 이벤트 및 대기#
이벤트 브로드캐스트 및 대기 스택 블록은 동일한 이벤트 이름을 가진 모든 이벤트 수신 시 블록을 시작하는 신호를 보냅니다. 프로젝트의 나머지 부분은 브로드캐스트된 이벤트가 실행을 마칠 때까지 기다립니다.
[message1 v] 방송 및 기다리기
매개변수 |
설명 |
|---|---|
이벤트 |
실행할 이벤트입니다. 사용자는 기존 이벤트를 선택하거나, 새 이벤트를 생성하거나, 선택한 이벤트의 이름을 변경하거나, 이벤트를 삭제할 수 있습니다. |
예
시작 시
[Move after the Brain's screen is pressed.]
<화면 눌림?>까지 기다리기
[forward_and_turn v] 방송 및 기다리기
화면에 [Movement done.] 출력 ▶
[forward_and_turn v] 수신 시
[앞으로 v] 방향으로 [100] [mm v] 주행 ▶
[오른쪽 v] 방향으로 [90]도 회전 ▶