팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는...

22

Upload: others

Post on 22-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터
Page 2: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

팔레트에 대한 설명

팔레트 설명 교재 페이지 동작 형태 소리 46-47 펜 41 데이터 34-35(변수) 데이터 185-186(리스트) 이벤트 제어 88 관찰 146 연산 73-75 추가블록 209

Page 3: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

참고하세요(사용 팁에 관한 설명)

참고하세요 페이지

스프라이트의 모양 중심 설정하기 40

다각형의 내각, 외각 구하는 공식 51

무대 좌표 58

데이터 교환 방법 65

스프라이트 모양 바꾸기 68

원의 둘레와 넓이 구하는 공식 80

무대정보 84

스프라이트의 회전방식 95

스프라이트의 크기 확대,축소 103

동일한 스프라이트 추가 105

정다각형을 그릴 경우 회전 각도 설정하는 법 121

Page 4: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

참고하세요(사용 팁에 관한 설명)

참고하세요 페이지

마우스를 따라 움직이는 스프라이트 133

스크립트(명령 블럭) 복사하는 방법 133

관찰 팔레트의 O색이 O색에 닿았는가 블록 이용 162

스프라이트 모양 복사하고 편집하는 방법 171

그리기 편집 화면에서 배경 그리기 175

비트맵 모드와 벡터 모드 175

리스트 183

데이터 처리 속도 197

이자 계산 공식 204

리스트 숨기기 206

리스트 보이기 208

타이머 사용하기 208

함수, 추가 블럭, 매개변수, 재귀함수 213

방송하고 기다리기와 사용자 정의 블록 비교설명 217

프렉탈 224

Page 5: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

스프라이트 구현 방식

Page 6: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

스프라이트 구현 방식

래스터 그래픽 방식 – 픽셀들의 집합인 비트맵을 이용

– 스프라이트 확대 시 계단 현상 발생

Page 7: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

스프라이트 구현 방식

벡터 그래픽 방식 – 점, 선, 곡선, 원 등의 도형 방정식을 이용해 그래픽 구현

– 스프라이트를 확대해도 화질의 변화 없음 (계단현상 없음)

Page 8: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

스프라이트 구현 방식

스크래치는 래스터 그래픽 방식과 벡터 그래픽 방식 모두 지원

Page 9: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

조건의 이해

Page 10: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

조건 블록

관계식과 논리식을 구현하기 위한 조건 블럭들

조건 블록 설명

앞의 자료가 뒤의 자료보다 작으면 참, 크거나 같으면 거짓.

앞의 자료와 뒤의 자료가 같으면 참, 다르면 거짓.

앞의 자료가 뒤의 자료보다 크면 참, 작거나 같으면 거짓.

연결된 두 조건 중 하나라도 참이면 참, 그 외는 거짓.

연결된 두 조건이 모두 참일 때만 참, 그 외는 거짓.

조립된 조건이 참이면 거짓, 거짓이면 참.

Page 11: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

대소관계의 진리값 결정

수의 비교는 수의 크기에 따라 진리 값을 결정

수, 영문 문자열, 한글 문자열 간의 크기 규칙 – 수 < 영문 문자열 < 한글 문자열

영문 문자열 간 또는 한글 문자열 간 크기는 사전적 순서에 따름 (단, 영문의 경우 소문자와 대문자를 구별하지 않음)

Page 12: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트의 이해

Page 13: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트

개념 : 어떤 동작을 실행시키는 사건

이벤트 주도(드리븐) 프로그램 – 이벤트를 중심으로 프로그램의 실행과 동작이 변경되는 프로그램

– 스크래치가 지원하는 방식

Page 14: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트

스크래치가 지원하는 이벤트의 종류

– 외부 이벤트 : 키보드, 마우스, 카메라, 마이크와 같은 입력 장치를 통해 발생하는 이벤트 + 타이머로 측정되는 시간의 흐름으로 발생하는 이벤트

– 내부 이벤트 : 프로그램 실행 중에 스프라이트 또는 무대의 행동으로 발생되는 무대 배경의 변경, 스프라이트의 복제 생성, 특정 메시지의 감지와 같은 이벤트

Page 15: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트

이벤트 처리 기능의 활용

Page 16: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트 블록 종류

지금까지 우리가 사용한 이벤트

Page 17: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트 처리 방식 vs. 관찰 방식

동일한 목적에 이벤트 처리 방식과 관찰 방식이 둘 다 가능한 경우

– 마우스 클릭과 키보드의 특정 키 입력의 발생에 대한 처리

이벤트 처리 방식은 이벤트가 발생할 때 새로운 스레드를 생성 – 이벤트 처리 기능을 다른 기능들과 병렬적으로 실행

관찰 방식은 현상이 발생한 시점에 관찰을 해야 하는 제약 존재 – 관찰하는 시점에 발생한 현상들만 감지 가능

– 예) 만일 프로그램이 키보드 입력을 관찰하지 않고 다른 계산을 수행하는 시점에 스페이스 바를 누르면 프로그램은 이 현상을 놓치게 됨

따라서, 어떤 현상이나 사건을 반드시 처리해야 한다면 이를 관찰로 처리하지 않고 이벤트로 처리하는 것이 바람직함

Page 18: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트 - 메시지 방송

메시지 방송의 개념

– 사용자가 이름을 정한 특정한 메시지를 같은 프로그램에 존재하는 모든 스프라이트들과 무대에 방송

– 방송의 의미 : 메시지를 특정 대상이 아닌 모든 대상에게 전달한다는 의미. 심지어 메시지를 방송한 스프라이트에게도 전달됨

Page 19: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트 - 메시지 방송

– 왼쪽 메뉴에 지정된 메시지를 방송합니다.

– 스프라이트는 메시지를 방송한 후 바로 그 다음의 행동을 수행합니다.

– 왼쪽 메뉴에 지정된 메시지를 방송합니다.

– 스프라이트는 메시지를 방송한 후 이 메시지 방송으로 유발된 모든 스프라이트와 무대의 행동들이 완료될 때까지 기다렸다가 다음 행동을 수행합니다.

Page 20: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트 - 메시지

메시지 방송 방법

Page 21: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트 - 메시지

방송된 메시지 받는 방법

Page 22: 팔레트에 - gnu.ac.krejsja/comco/03.pdf · 스프라이트 모양 복사하고 편집하는 방법 171 그리기 편집 화면에서 배경 그리기 175 비트맵 모드와 벡터

이벤트 - 타이머