상세 컨텐츠

본문 제목

스크래치 프로그래밍: 방송하기 활용

프로그래밍/스크래치

by 삶의 재발견 2014. 3. 2. 07:00

본문

반응형

■ 스크래치 프로그래밍: 방송하기 활용


제어에 있는 "방송하기"는 매우 유용한 블럭으로, 스프라이트(Sprite) 객체간에 동작을 제어하거나 커뮤니케이션을 할 때 활용할 수 있습니다.

"방송"과 관련하여 다음과 같이 3종류의 블럭을 제공합니다.


  • "~를 방송하기"
  • "~를 방송하고 기다리기"
  • "~를 받았을때"


"~방송하기는" 무대에 있는 모든 객체에게 특정 메시지를 전달 할 수 있습니다. 

아래 그림에서 보면, 딱정벌레는 "Stop"을 고양이를 포함한 다른 객체에게 전달할 수 있습니다. 고양이는 "Stop"을 받았을 때 무언가 새로운 작업을 해야한다면, "Stop을 받았을 때" 이벤트를 활용해서 다음 작업 내용을 블럭으록 구성하면 됩니다.



예제 프로그램을 다음과 같이 작성해보도록 하겠습니다.

  • 무대위에 지속적으로 반복해서 움직이는 고양이 스프라이트 객체가 있음
  • 정지된 딱정벌레 스프라이트 객체가 있음
  • 딱정벌레를 클릭하면 "~를 방송하기"블럭을 이용해서 고양이를 멈추는 프로그램을 작성

1) 먼저 무대에 다음과 같이 고양이와 딱정벌레 스프라이트를 만듭니다. 

2) 고양이를 움직이게 하기 위하여 고양이 스프라이트에 다음과 같이 블럭을 이용해서 스크립트를 작성합니다. (세부 내용 이전 포스트 참조) 고양이를 클릭하면 고양이가 계속해서 좌우로 움직입니다.



3) 딱정벌레를 클릭했을 때, 공양이를 멈추게 하기 위해서 이벤트의 "스프라이트를 클릭했을 때"와 "Stop을 방송하기"를 이용하여 다음과 같이 스크립트를 구성합니다.



4) 고양이 스프라이트에 이벤트에 있는 "Stop을 받았을 때" 와 제어에 있는 "모두 멈추기"를 이용하여 다음과 같이 완성합니다.



이제 고양이가 움직이는 상태에서, 딱정벌레를 클릭하면 고양이가 멈추는 것을 볼 수 있습니다.

반응형

관련글 더보기