안녕하세요 아임코딩입니다.
유튜브 링크
이번에는 엔트리에서 신호를 처리하는 방법에 대해서 알아보겠습니다.
엔트리에서 신호는 오브젝트들 사이에 일어나는 상호작용 입니다.
일상생활에서 친구들에게 메세지를 보내는 것처럼 엔트리 프로그램에서도 오브젝트 간에 신호를 보낼 수 있습니다.
엔트리에서는 신호에 관련한 코드 블럭을 제공합니다.

위의 그림과 같이 엔트리에서는 신호를 처리하는 코드블럭들을 제공합니다.

- __신호를 받았을 때 코드 블럭 : 특정한 신호를 받았을 때 처리하는 코드 블럭을 이어붙일 수 있습니다.
- __신호 보내고 기다리기 코드 블럭 : 신호를 보낸 후 신호를 받은 블록들의 실행이 끝날 때까지 기다립니다.
- __신호 보내기 : 특정한 신호를 정하여 보낼 수 있습니다.
이 코드들을 이용하기 위해서는 어떤 신호인지 신호를 생성하고 지정을 해줘야합니다.
신호를 생성하는 방법에 대해서 알아보겠습니다.

코드꾸러미 상단에 보면 속성 창이 있습니다.
해당 버튼을 누르면 신호를 추가할 수 있는 화면이 나옵니다.
신호 추가하기 버튼을 누르면 새로운 신호를 만들 수 있습니다.

신호 추가하기 버튼을 클릭하면 신호의 이름을 입력하고 신호를 추가할 수 있습니다.
"안녕"이라는 이름을 가진 신호를 추가해보겠습니다.
신호 이름에 "안녕"을 입력하고 신호 추가 버튼을 클릭하면 됩니다.

"안녕"이라는 신호가 추가된 것을 확인할 수 있습니다.
이제 이 "안녕" 신호를 이용하여 오브젝트 사이에 신호를 처리하는 방법에 대해서 알아보겠습니다.

오브젝트 간 신호를 처리하기 위해서 오브젝트를 추가해줍니다.
동물 오브젝트 중 핑크 돌고래와 고양이 오브젝트를 추가했습니다.

핑크 돌고래와 고양이 오브젝트가 추가된 것을 확인할 수 있습니다.
엔트리 봇에서 "안녕" 신호를 보내고 고양이와 돌고래 오브젝트에서 신호를 받으면 말을 하는 프로그램을 만들어보겠습니다.

엔트리봇은 프로그램을 시작하는 버튼을 누르면 "안녕" 신호를 보내도록 코드를 만들었습니다.
이 신호는 프로그램 내에 있는 모든 오브젝트에 전달됩니다.
현재 프로그램에는 엔트리봇, 핑크 돌고래, 고양이가 존재합니다.
엔트리봇 오브젝트가 "안녕" 신호를 보내면 모든 오브젝트에서 신호를 받습니다.
핑크 돌고래와 고양이에서 이 신호를 받았을 때 신호를 처리하는 코드를 작성하겠습니다.
핑크 돌고래와 고양이는 신호를 받으면 신호를 받았다고 말을 합니다.
오브젝트가 말을 하는 코드는 생김새 코드 블럭에 있습니다.

생김새 코드 블럭 중 말하기 코드 블럭을 이용하여 오브젝트가 말하는 프로그램을 만들 수 있습니다.

고양이 오브젝트의 코드에서는 "안녕" 신호를 받으면 "고양이 신호 받음!" 을 4초 동안 말하도록 코드를 만들었습니다.

돌고래 오브젝트도 신호를 받으면 "돌고래 신호 받음!"을 출력하도록 코드를 만들었습니다.
이제 전체 프로그램을 실행해보겠습니다.
동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.
프로그램이 시작하면 엔트리봇은 "안녕" 신호를 보냅니다.
고양이 오브젝트는 신호를 받으면 "고양이 신호 받음!"을 출력합니다.
돌고래 오브젝트는 신호를 받으면 "돌고래 신호 받음!"을 출력합니다.
위의 동영상에서 확인할 수 있듯이 의도한 대로 프로그램이 잘 동작하는 것을 확인할 수 있습니다.
이상으로 엔트리에서 신호를 처리하는 방법에 대해서 알아봤습니다.
'프로그래밍 > 엔트리' 카테고리의 다른 글
| [엔트리] 조건 코드 블록 (0) | 2023.04.30 |
|---|---|
| [엔트리] 코드 반복하기 (0) | 2023.04.27 |
| [엔트리] 오브젝트 추가 (0) | 2023.04.27 |
| [엔트리] 오브젝트 클릭 (0) | 2023.04.27 |
| [엔트리] 마우스 클릭 (0) | 2023.04.27 |