오픈 소스/스크래치

[스크래치] 스크래치 무대의 경우 팔레트는 어떻게 되나요?

Linuxpia4U 2023. 3. 24. 12:04
반응형

스크래치 블록 팔레트

스크래치는 미국 MIT 대학 미디어랩에서 개발한 오픈소스 프로그램 언어입니다. 오픈소스로 제공되기 때문에 비용 부담 없이 누구나 즐길 수 있는 쉬운 프로그램 언어입니다. 블록을 짜 맞추는 형식의 언어라서 아동들의 프로그램 개념 학습에 많이 사용되지만 나이 든 세대에게도 좋은 놀잇감이 됩니다. 스크래치에서 코드는 편집창에서 블록을 짜 맞추면서 구성되는데 여기에는 항상 주인공이 있습니다. 코딩 대상이 있다고 해야 할까요?

 

일반적으로 그 주인공은 '스프라이트'가 됩니다. 그러나 무대가 코딩의 대상이 될 수 있습니다. 무대는 주인공인 스프라이트와 달리 적용할 수 있는 블록 구성이 다릅니다. 거기에 맞는 블록 리스트로 달라집니다. 

Scratch Desktop editor에서 무대가 선택된 상태의 팔레트 구성

무대에 적용하는 코딩

스프라이트가 아닌 무대에 적용되는 코딩은 배경을 변경한다거나 흥미로운 효과를 추가할 수 있습니다. 또한 무대에서 오브젝트간 충돌을 감지하여 점수를 준다거나 소리를 추가할 수도 있습니다.

 

배경에 스크롤링을 추가하면 화면이 움직이는 것처럼 할 수도 있습니다. '조난당한 우주비행사'를 구하는 프로그램의 배경에는 우주공간을 느낄 수 있는 배경을 사용합니다. 이 배경이 정지되어 있으면 동적인 우주를 만들 수 없습니다. 이때 무대에 그림을 올려 움직임을 부여합니다.

우주 이미지

실제 적용 사례

우주 이미지를 스프라이트로 올려 뒤로 보냅니다. 무대 배경으로 사용하는 이미지이기 때문에 가장 멀리 보낸다는 의미입니다. 1단계만 보내도 되겠지만 아예 멀찍하니 보낸 것입니다. 그리고 이미지는 한가운데로 위치시킵니다. 이미지 중앙이 원점과 일치하기 때문에 정중앙에 위치하면 무대를 꽉 채우게 됩니다. 그리고 무한반복을 시킵니다. x좌표만 5씩 왼쪽으로 이동시킵니다. 계속 이동시키면 영원히 빠져나가기 때문에 무대를 빠져나갈 정도에서 다시 오른쪽 끝으로 이동시키면서 반복합니다.

이미지 두 개를 이용하여 계속 움직이는 배경 만들기

하나의 이미지만 이동을 하면 이동되는 과정에서 오른쪽이 텅 비었다가 다시 채워지는 불상사가 생깁니다. 그래서 같은 이미지를 복사하여 또 하나의 스프라이트를 만듭니다. 이 스프라이트는 첫 이미지 뒤를 따라 붙는 것이기에 첫 이미지 마지막 지점에서 나타나게 위치시킵니다. 그리고 똑같은 요령으로 반복하면 무대 배경은 계속 왼쪽으로 이동하게 보입니다.

프로그램 실행 배경

실제 배경은 왼쪽으로 계속 움직이게 됩니다.

반응형