이번 장에서는 마우스를 이용하여 자유롭게 그림을 그릴 수 있는 페인트 툴을 만들어 보겠습니다. Pen을 이용하여 선의 크기와 색상을 변경할 수 있고, 전체를 지울 수 있는 간단한 기능을 넣어 보겠습니다.

사용자 삽입 이미지

1. 변수 생성 및 설정

사용자 삽입 이미지
Variables 의 [Make a variable] 버튼을 클릭하여 좌측과 같이 color와 size 두개의 변수를 생성합니다.

color는 현재 칠해질 색상을 저장하며 size는 선의 굵기를 저장합니다. 스크래치에서 color 값은 0 (빨강) 부터 시작하여 숫자가 커질 수록 무지개 색의 '빨주노초파남보'를 나타내며 다시 200에서 빨강으로 설정됩니다.  




사용자 삽입 이미지
캔버스에서 color 변수를 마우스로 우클릭 하면 좌측과 같은 메뉴가 나타납니다. 색의 범위를 0~200까지 설정하기 위해 'set slider min and max'를 클릭합니다.



아래와 같이 슬라이더의 범위를 설정하는 창이 출력되면 Min에 0을 Max에 200을 입력하고 [OK]를 클릭합니다.
사용자 삽입 이미지


2. 스프라이트 생성

사용자 삽입 이미지
기본 스프라이트를 삭제하고 좌측의 'Paint new Sprite' 버튼을 클릭하여 페인트 에디터를 실행합니다.
 
사용자 삽입 이미지

마우스 커서만 보여지게 하기 위해 시작시 스프라이트를 숨기기(hide) 때문에 좌측처럼 점만 하나 찍은 후에 페인트 에디터의 [OK] 버튼을 클릭하여 저장합니다.



3. 스크립트 생성

전체 스크립트의 모습은 아래와 같으며, 그리 복잡하지 않습니다.

사용자 삽입 이미지

1) 초기화
시작버튼이 클릭되면 페인터의 초기화를 위해 아래와 같은 작업을 합니다.

[hide]
스프라이트를 숨깁니다.

[set color to (100)]
현재 색상을 100으로 설정합니다. 기본으로 다른 색상을 원할 경우에는 100이외의 다른 값으로 변경하셔도 됩니다.

[set size to (3)]
현재 선 굵기를 3으로 설정합니다. 위의 color와 같이 다른 값으로 설정하셔도 됩니다.

[pen up]
그리기 모드를 해제합니다.

[clear]
캔버스를 지웁니다.

2) 루프
시작 후에는 forever 내에서 무한으로 아래의 작업을 반복합니다.

[set pen size to (size)], [set pen color to (color)]
사용자에 의해 펜의 색상과 크기가 변경되었을 경우에 다시 설정합니다.

[go to [mouse-pointer]]
스프라이트의 현재 위치를 마우스 포인터의 위치로 설정합니다.

[if <mouse down?>]
마우스가 클릭되었을 경우에는 [pen down]으로 선을 그리고 클릭되지 않은 상태면 [pwn up]으로 선을 그리지 않습니다.

3) 캔버스 삭제
[when [c] key pressed]
키보드에서 c 키가 눌러 졌을 경우에는 [clear]로 전체 캔버스를 지웁니다.


이제 완성되었습니다. 시작 버튼을 눌러 color와 size의 값들을 변경해 가면서 그림을 그려 봅니다.

전체 소스는 아래의 압축파일을 다운로드 받으세요