오픈 소스/스크래치

[스크래치] 도장찍기로 고양이를 만들고 지우기

Linuxpia4U 2023. 4. 1. 20:57
반응형

팔레트 확장

스크래치에는 기본 팔레트가 9종류가 대기하고 있습니다. 기본 팔레트에 없는 기능을 사용하기 위해서는 팔레트 영역의 아래 '확장 기능' 아이콘을 눌러 필요한 기능을 선택합니다.

팔레트 영역의 확장 기능 아이콘

확장 기능을 선택하면 고를 수 있는 확장 기능들이 나오는데, 이번에 사용할 '도장 찍기'는 '펜 팔레트'입니다.

여러 확장 기능들

펜 확장 기능을 선택하면 기본 기능 아홉 가지 아래에 '펜 확장 기능' 아이콘이 추가됩니다.

펜 팔레트

 

도장 찍기로 고양이 만들고 지워봅시다

'펜' 블록 중 '도장 찍기' 블록이 있습니다. 이 블록은 선택한 스프라이트를 복사하여 무대에 보여줍니다. 이 기능으로 추가된 스프라이트는 '허상'일 뿐입니다. 즉, '인스턴스'로 실체는 하나인데 그 허상이 여러 개 복제될 뿐입니다. 

원본 하나에 여러 개의 허상이 그려짐

블록 '도장 찍기'를 클릭하면 하나씩 생기는데 겹쳐 있어 마우스로 이동한 것입니다. 다섯 개의 고양이가 무대를 누비고 있지만 아래 스프라이트 객체를 보면 하나만 존재합니다. 

도장찍기로 고양이 복제하고 이동

이것을 프로그램스럽게 하기 위해서는 '이벤트'를 추가합니다. 깃발을 클릭하면 도장을 찍으라는 코딩입니다. 물론 같은 장소에서 복제되기에 이동을 한 것입니다.

이벤트를 이용하여 고양이 그리기

 

 

 

고양이 지우기

도장 찍기로 그려진 고양이를 지워보도록 합니다. '모두 지우기' 블록을 클릭했더니 마지막에 그려진 고양이만 남고 나머지 허상들은 모두 지워졌네요.

'모두 지우기'로 고양이 허상을 지우기

이렇게 펜 팔레트의 기능을 이용하면 새로운 개체를 그릴 수도 있고 지울 수도 있습니다.

 

고양이 원 만들기

고양이 스프라이트가 원을 그리며 도장 찍기 한 후에 지우기까지 실행하는 코드를 만들어 봅니다. '20만큼 움직이기'와 '15도 오른쪽으로 돌기'를 이용하여 '도장 찍기'를 30회 반복하면 아래와 같은 모양이 생성됩니다.

고양이로 원 만들기

그리고 '모두 지우기'를 클릭하면 원본 고양이 하나만 남고 나머지는 모두 지워집니다. 다음과 같은 코드를 작성하면 고양이가 열심히 원을 그리고 바로 지워지면서 원본 고양이 하나만 남습니다.

고양이 원을 그리고 지워서 하나만 남은 결과

 

 

정리

블록 팔레트는 기본 팔레트가 9개 있습니다. 9개의 기본 팔레트 외의 다른 기능은 확장 기능을 이용합니다. 확장 기능 아이콘을 클릭하면 새로운 창이 뜨면서 확장 팔레트를 선택할 수 있습니다.

 

이번에는 확장 기능 중 '펜 팔레트'를 추가하여 '도장 찍기'와 '모두 지우기'를 연습했습니다.

 

 

반응형