Language/Python

[ Python ] 터틀 그래픽(Turtle Graphic) 문법 정리

곽수진 2021. 9. 27. 02:32
반응형

# 터틀 그래픽을 사용할 때 기본 입력

import turtle : turtle 모듈을 사용하기 위하여 import


▶ t=turtle.Turtle() : t라는 이름으로 turtle 객체 생성

  → t=turtle.Pen()

 

 

 

# 터틀 그래픽 이동

▶ t.forward(픽셀) : 픽셀만큼 앞으로 이동

  → t.fd(픽셀)


▶ t.backward(픽셀) : 픽셀만큼 뒤로 이동

  → t.back(픽셀)


t.left(각도) : 왼쪽으로 각도만큼 회전

  → t.lt(각도)


▶ t.right(각도) : 오른쪽으로 각도만큼 회전

  → t.rt(각도)

 

▶ t.setheading(각도) : 주어진 각도로 헤드 방향을 변경

  → t.seth(각도)

 

▶ t.hope() : 터틀을 (0,0) 위치로 이동, 헤드 방향도 0도로 변경

 

▶ t.goto(x,y) : x,y 좌표로 펜이 이동(펜이 내려져 있으면 선이 그려짐)

 

 

 

# 터틀 그래픽 색상 / 모양

▶ t.shape(모양) : 터틀 그래픽의 모양을 지정함

  → arrow, turtle, circle, square, triangle, classic

  → t.shape("turtle") : 가장 기본(거북이 모양)으로 많이 사용


▶ t.width(굵기) : 선의 굵기 조정

  → t.pensize(굵기)


▶ t.color(색) : 선의 색을 변경(색은 색이름(영문) 또는 #000000~ #ffffff 문자열)

  → t.color((r, g, b)) or t.color(r, g, b) : r, g, b 값은 각각 0.0 ~ 1.0 사이의 값

  → t.color 함수는 선색과 채우기색을 동일하게 설정

  → t.color(색1, 색2) or t.color((r, g, b), (r, g, b)) : 첫 번째 색은 선색, 두 번째 색은 채우기색을 의미

 

▶ t.pencolor(색), t.pencolor(r, g, b) : 선 색을 결정, 색과 r, g, b는 위 내용과 동일


▶ t.fillcolor(색), t.fillcolor(r, g, b) : 채우기색을 결정, 색과 r, g, b는 위 내용과 동일

 

▶ t.begin_fill() : 색 채우기 시작

 

t.end_fill() : 색 채우기 종료

 

 

 

# 터틀 그래픽 그림 그리기

▶ t.up() : 펜을 올려 그림이 그려지지 않음

  → t.penup()

  → t.pu()


▶ t.down() : 펜을 내려 그림이 그려짐

  → t.pendown()

  → t.pd()


▶ t.circle(반지름) : 반지름 크기의 원을 그림

  → circle(반지름, extent, steps)
  → 반지름은 양수면 반시계방향, 음수면 시계방향
  → extent: 음수 가능하고 0~360 중 하나, 양수면 거북이 헤드방향, 음수면 헤드방향의 반대방향
  → steps: 몇 번 만에 그릴 것인지, 360에 3이면 삼가형(각도는 자동 계산)

 

 

 

# 터틀 그래픽 문자열 값 입력

변수 = turtle.textinput("창 제목", "대화창 출력 문자열")
  → "창 제목"의 내용은 생략 가능, ""는 유지해야 함


t.write("문자열", 거북이이동여부(True, False), 정렬("left", "right", "center"), 폰트("글꼴(없으면 따옴표만)", 글자크기, 글자속성("normal", "italic", "bold")))
  → 거북이 이동 여부는 글자가 출력될 때 거북이가 움직이면서 출력되는지 여부를 의미

ex) t.write("안녕하세요?", True, "center', ("", 15, "bold"))

→ 거북이를 이동시키면서 안녕하세요? 글자화면 가운데 정렬이 되도록 출력.
글꼴은 따로 지정하지 않았으며, 글자크기는 15, 굵게 출력.

 

 

 

# 터틀 그래픽 이미지 출력

▶ scr1 = turtle.Screen() : scr1 객체생성(캔버스를 의미, 그림 그리는 화면)
  → scr1 = turtle.getscreen()


▶ scr1.addshape(이미지파일문자열) : 경로와 확장자(.gif)를 포함한 이미지 파일 문자열을 shape으로 추가(거북이 모양을 이미지로 사용할 수 있게 함)

 

▶ t.shape(이미지파일문자열) : 해당 이미지 파일 문자열로 모양 설정


▶ t.stamp() : 해당 이미지 모양을 screen에 찍어줌 (도장찍듯이 복사)

 

 

 

# 터틀 그래픽 이미지 지우기 / 숨기기

▶ t.clear() : 화면 지우기


▶ t.hideturtle() : 터틀 숨기기(안보이게 하기)

  → t.ht()


▶ t.showturtle() : 터틀 보이게 하기

  → t.st()

 

 

# 터틀 그래픽 키보드 제어

▶ s.onescreenclick(함수명) : 마우스 왼쪽 버튼을 클릭했을 때 실행할 콜백함수를 등록

  → s.onclick(함수명)
  → s.onscreenclick(함수명, 1 or 2 or 3) : 1은 왼쪽, 2는 가운데, 3은 오른쪽 마우스 버튼을 의미
  → s.onclick(함수명, 1 or 2 or 3)

★ 주의: 콜백함수를 정의할 때는 def 함수명(x,y) 형태를 가져야 함 


▶ s.onkey(함수명, "키이름") : 키를 눌렀을 때 실행할 콜백함수 등록, 키이름 생략 불가


▶ s.onkeypress(함수명, "키이름") : 키 이름은 생략 가능하며 생략되었을 때는 아무거나 상관없음을 의미


▶ s.listen() : 키보드 이벤트를 기다리는 함수

  → TurtleScreen에 포커스를 설정함


▶ s.mainloop() : 터틀 그래픽 프로그램 마지막에 와야 하며, 이벤트 루프 시작을 의미

 

 

 

 

반응형