Rozdział 7 · Głębokie zanurzenie w Turtle
Turtle jako obiekt graficzny
Kształt, rozmiar i nachylenie kursora – ustawienia wyglądu niezależne od tego, gdzie i jak żółw faktycznie się porusza.
Do tej pory kształt żółwia był dla nas tylko „wskaźnikiem”
Formy wbudowane
galereya_form.py
import turtle
screen = turtle.Screen()
screen.setup(width=560, height=180)
artist = turtle.Turtle()
artist.penup()
artist.pencolor("#5B24F9")
shapes = ["arrow", "turtle", "circle", "square", "triangle", "classic"]
x = -220
for shape_name in shapes:
artist.goto(x, 20)
artist.shape(shape_name)
artist.stamp()
artist.goto(x, -25)
artist.write(shape_name, align="center", font=("Arial", 10, "normal"))
x += 85
screen.exitonclick()
Rezultat
galereya_form_kod.py
shapes = ["arrow", "turtle", "circle", "square", "triangle", "classic"]
for shape_name in shapes:
artist.shape(shape_name)
artist.stamp()
shapesize() to rozmiar kursora, a nie rozmiar obrazu
razmer_formy.py
import turtle
screen = turtle.Screen()
screen.setup(width=420, height=220)
artist = turtle.Turtle()
artist.shape("turtle")
artist.pencolor("#5B24F9")
artist.penup()
sizes = [(0.5, -140), (1, -20), (2, 140)]
for factor, x in sizes:
artist.goto(x, 0)
artist.shapesize(factor, factor)
artist.stamp()
screen.exitonclick()
Rezultat
razmer_formy_kod.py
artist.shape("turtle")
for factor in [0.5, 1, 2]:
artist.shapesize(factor, factor)
artist.stamp()
shapesize() nie zmienia współrzędnych
Powiększony żółw wygląda na większy, ale to tylko wygląd kursora — wszystkie współrzędne, obroty i odległości w kodzie pozostają dokładnie takie same jak wcześniej.
tilt() jest nachylenie widoku, a nie przebieg podróży
Tutaj ważne jest, aby rozróżnić dwa podobne, ale różne pojęcia:
| Koncepcja | Co oznacza |
|---|---|
| heading (kurs) | tam, gdzie żółw się PORUSZA, zmienia się left()/right()/setheading() |
| tilt (pochylenie) | jak obrócony jest WID kursora na ekranie — zmienia to tylko tilt()/tiltangle() |
naklon.py
import turtle
screen = turtle.Screen()
screen.setup(width=420, height=220)
artist = turtle.Turtle()
artist.shape("arrow")
artist.shapesize(3, 3)
artist.pencolor("#5B24F9")
artist.penup()
artist.goto(-100, 0)
artist.setheading(0)
artist.stamp()
artist.goto(100, 0)
artist.tilt(45)
artist.stamp()
screen.exitonclick()
Rezultat
naklon_kod.py
artist.shape("arrow")
artist.shapesize(3, 3)
artist.stamp() # zwykły widok
artist.tilt(45) # tylko obróć WIDOK, kurs ruchu się nie zmienił
artist.stamp()
Dlaczego możesz go potrzebować
Wyobraź sobie samolot lub samochód w grze: może LATAĆ ściśle w prawo (tor jest stały), ale lekko się kołysać wizualnie – to jest różnica między heading a tilt. Do podstawowych rysunków treningowych rzadko jest tilt() potrzebne, ale warto wiedzieć, że kurs ruchu i widok to różne rzeczy.
Praktyka: Żółw jako obiekt graficzny
Moduł turtle otwiera natywne okno Python – uruchamiane lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie