shape()
객체의 모양을 변경할 수 있다.
기본값은
classic이다.
turtle.shape("circle")
classic | default값 | |
turtle | 거북이 | |
arrow | 화살표 | |
circle | 원 | |
square | 사각형 | |
triangle | 삼각형 |
from turtle import Turtle, Screen
screen = Screen()
# 터틀의 객체 ninja 생성하고, 모양을 바꾼다
ninja = Turtle(shape = "classic")
ninja.forward(-200)
ninja = Turtle(shape = "turtle")
ninja.forward(-100)
ninja = Turtle(shape = "arrow")
ninja= Turtle(shape = "circle")
ninja.forward(100)
ninja = Turtle(shape = "square")
ninja.forward(200)
ninja = Turtle(shape = "triangle")
ninja.forward(300)
screen.exitonclick()
shapesize(stretch_wid, stretch_len, outline)
shapesize는 두께, 길이, 경계선의 사이즈를 늘리거나 줄여서 전체적인 객체 모양을 바꾸는 메서드이다.
기본값은 shapesize(1, 1, 1)이다.
stretch_wid 너비(두께, 세로)
stretch_len 길이(길이, 가로)
outline 외곽선(스케치한 선)
를 뜻한다.
유의사항이 있다.
shapesize의 인자로서 stretch_wid, stretch_len이 온다는 것이다.
왜 wid, len이라고 쓰지 않고,
stretch_wid, stretch_len을 쓸까?
여기서는 직접적인 값을 넣는 것이 아니라
비율로 표기한다.
stretch_wid의 기본값은 1이라고 했다.
그런데 만약 stretch_wid= 0.5로 바꾼다면,
0.5만큼 줄인다는 것이다.
예를 들어 stretch_wid = 5라고 하면
기본 크기에서 5배 늘인다는 뜻이다!
지금부터
인자값을 조절하면서,
어떻게 모양이 바뀌는지 알아보자.
1. 크기가 작아지는 경우
# shapesiz의 wid=0.1 , len=0.1 :크기가 작아짐
ninja = Turtle(shape = "classic")
ninja.forward(-200)
ninja = Turtle(shape = "classic")
ninja.color("blue")
ninja.shapesize(0.1, 0.1)
ninja.forward(-160)
# shapesiz의 wid=1, len=0.5 :가로 길이만 작아짐
ninja = Turtle(shape = "turtle")
ninja.forward(-100)
ninja = Turtle(shape = "turtle")
ninja.color("blue")
ninja.shapesize(1, 0.5)
ninja.forward(-60)
# shapesiz의 wid=0.5 , len=1 : 세로 높이만 작아짐(두께)
ninja = Turtle(shape = "arrow")
ninja = Turtle(shape = "arrow")
ninja.color("blue")
ninja.shapesize(0.5, 1)
ninja.forward(40)
# shapesiz의 wid=3 , len=3 : 크기가 커짐
ninja= Turtle(shape = "circle")
ninja.forward(100)
ninja= Turtle(shape = "circle")
ninja.color("blue")
ninja.shapesize(3, 3)
ninja.forward(140)
2. 크기가 커지는 경우
# shapesiz의 wid=5 , len=0.1 : 세로 두께가 커짐
ninja = Turtle(shape = "square")
ninja.forward(200)
ninja = Turtle(shape = "square")
ninja.color("blue")
ninja.shapesize(5, 1)
ninja.forward(240)
# shapesiz의 wid=1 , len=5 : 가로 길이만 길어짐
ninja = Turtle(shape = "triangle")
ninja.forward(300)
ninja = Turtle(shape = "triangle")
ninja.color("blue")
ninja.shapesize(1, 5)
ninja.forward(340)
3. 외곽선 두께 조절
#outline= 0.2 : 외곽선 얇음
ninja = Turtle(shape = "turtle")
ninja.forward(-300)
ninja.shapesize(outline=0.2)
#outline= 10 : 커짐 : 외곽선 두꺼움
ninja = Turtle(shape = "turtle")
ninja.forward(-250)
ninja.shapesize(outline=10)
<전체 코드>
from turtle import Turtle, Screen
screen = Screen()
screen.setup(height=600, width=800)
#outline= 0.2 : 외곽선 얇음
ninja = Turtle(shape = "turtle")
ninja.forward(-300)
ninja.shapesize(outline=0.2)
#outline= 10 : 커짐 : 외곽선 두꺼움
ninja = Turtle(shape = "turtle")
ninja.forward(-250)
ninja.shapesize(outline=10)
# shapesiz의 wid=0.1 , len=0.1 :크기가 작아짐
ninja = Turtle(shape = "classic")
ninja.forward(-200)
ninja = Turtle(shape = "classic")
ninja.color("blue")
ninja.shapesize(0.1, 0.1)
ninja.forward(-160)
# shapesiz의 wid=1, len=0.5 :가로 길이만 작아짐
ninja = Turtle(shape = "turtle")
ninja.forward(-100)
ninja = Turtle(shape = "turtle")
ninja.color("blue")
ninja.shapesize(1, 0.5)
ninja.forward(-60)
# shapesiz의 wid=0.5 , len=1 : 세로 높이만 작아짐(두께)
ninja = Turtle(shape = "arrow")
ninja = Turtle(shape = "arrow")
ninja.color("blue")
ninja.shapesize(0.5, 1)
ninja.forward(40)
# shapesiz의 wid=3 , len=3 : 크기가 커짐
ninja= Turtle(shape = "circle")
ninja.forward(100)
ninja= Turtle(shape = "circle")
ninja.color("blue")
ninja.shapesize(3, 3)
ninja.forward(140)
# shapesiz의 wid=5 , len=0.1 : 세로 두께가 커짐
ninja = Turtle(shape = "square")
ninja.forward(200)
ninja = Turtle(shape = "square")
ninja.color("blue")
ninja.shapesize(5, 1)
ninja.forward(240)
# shapesiz의 wid=1 , len=5 : 가로 길이만 길어짐
ninja = Turtle(shape = "triangle")
ninja.forward(300)
ninja = Turtle(shape = "triangle")
ninja.color("blue")
ninja.shapesize(1, 5)
ninja.forward(340)
screen.exitonclick()
<실행 화면>