​​ 스크래치 기초 4-1 : 버튼 삽입하여 객체 컨트롤하기

스크래치 기초 4-1 : 버튼 삽입하여 객체 컨트롤하기

오늘은 키보드가 아닌 화면 내에 버튼을 삽입하여 객체를 컨트롤하는 방법을 알아보도록 하겠습니다.

- 왼쪽, 오른쪽, 시작 3가지의 메시지 보내기 및 객체 컨트롤 버튼 만들기

- 버튼의 명령대로 움직일 객체와 배경 삽입

 

먼저, 버튼을 만들어 보도록 하겠습니다. Arrow1과 button1 두 개를 가져온 뒤 Arrow1은 우클릭 복사하여 두 개를 만듭니다.

 

 

버튼은 시작, 화살표 하나는 왼쪽, 하나는 오른쪽이라고 이름을 바꾸어 줍니다. 이제 화살표의 방향을 이름과 동일하게 맞추어 주기 위해 모양 탭을 열고 스프라이트 창에서 왼쪽 화살표를 찍은 상태에서는 모양 탭에서 왼쪽을 향한 화살표를 고그로, 스프라이트 창에서 오른쪽 화살표를 찍은 상태에서는 모양 탭에서 오른쪽을 향한 화살표를 선택해줍니다.

 

 

버튼의 크기가 화면과 화살표에 비해 너무 크므로 크기를 조금 줄여줍니다. 모양탭을 열고 버튼을 클릭한 뒤 마우스로 드래그하여 버튼 내의 모든 요소가 선택되게 한 다음 쉬프트 키를 누른 상태에서 모서리에 마우스를 가져간 뒤 화살표로 바뀌면 안쪽으로 드래그하여 적당한 크기까지 균일하게 축소합니다.

미리 보기창에서 오른쪽 하단쯤의 적당한 위치에 버튼과 화살표들을 배치합니다.

 

이제 각 화살표와 버튼에 블록을 붙여주도록 하겠습니다.

왼쪽 화살표를 선택한 뒤 코드 탭에서 노란색 이벤트 팔레트를 클릭합니다. 이벤트 팔레트에서 '이 스프라이트를 클릭했을 때'를 가져옵니다.

다음으로 '메시지 신호 보내기' 블록을 가져다 붙입니다. 이렇게 하면 '이 스프라이트를 클릭했을 때 000이라는 메시지 신호 보내기'라는 명령어가 탄생합니다.

 

※ 참고 : 메시지 관련 블록은 3가지 종류가 있습니다.
- 메시지  신호를 받았을 때 : 지정된 메시지를 받았을 때 코드를 실행합니다.
- 메시지 신호 보내기 : 모든 스프라이트들에게 지정된 메시지 신호를 보냅니다.
- 메시지 신호 보내고 기다리기 : 모든 스프라이트들에게 지정된 메시지 신호를 보내고 기다립니다.
이러한 메시지 신호를 주고 받는 다는 것의 의미는 결과물이 완성되었을 때 실행창에 출력된다는 의미가 아니라 프로젝트의 내부에서 스프라이트들 상호 간에 메시지를 주고받는 의미입니다.

메시지 1을 클릭한 뒤 새로운 메시지를 선택하면 뜨는 입력창에 '왼쪽'이라고 입력합니다.

 

이제 이러한 왼쪽 화살표의 내용을 그대로 복사하여 오른쪽 화살표와 시작 버튼에 넣어준 뒤 조금만 수정하면 됩니다.

완성된 스프라이트를 마우스로 드래그하여 편집창 아래의 개인 저장소에 끌어다 놓습니다. 그다음 오른쪽 화살표 스프라이트를 선택한 뒤 개인 저장소에서 끌어다 놓고, 버튼 스프라이트를 선택한 뒤 끌어다 놓습니다.

물론, 마우스 우클릭으로 복사를 선택한 뒤 그대로 드래그 해서 해당 스프라이트에 끌어다 놓아도 똑같은 효과가 있는데 제대로 실행되지 않는 경우가 있어서 개인 저장소를 사용했습니다.

 

다음으로 오른쪽 화살표와 중앙 버튼의 출력 메시지를 수정합니다.

메시지 내용만 오른쪽 화살표에서는 오른쪽으로, 버튼에서는 시작으로 새로운 메시지로 수정, 선택해 주시면 됩니다.

이제 각각 다른 세개의 블록 군이 화살표 두 개와 버튼 하나에 만들어졌습니다.

 

 

다음 포스팅에서는 버튼에 반응하는 액션을 취할 스프라이트를 만들고 배경을 넣어 보도록 하겠습니다.

수고하셨습니다.

 

댓글

Designed by JB FACTORY