Der Befehl color kann verwendet werden, um die Farbe von Tracy und ihrer Spur zu ändern, während der Befehl Screen().bgcolor die Farbe der Leinwand ändert.
# Zeichnet eine rote Linie
color("red")
forward(50)
# Zeichnet eine blaue Linie
color("blue")
forward(50)
"brown" | "cyan" | "gold" | "gray" | "green" | "indigo" | "orange" | "pink" | "purple" | "red" | "violet" | "white" | "yellow"
Um eine grössere Auswahl an Farben festzulegen, können Hex-Codes verwendet werden – oder drei Dezimalzahlen.
# Setze die Farbe auf ein bestimmtes Lila mit Hexcode #8631C3
color("#8631C3")
# Setze die Farbe auf ein bestimmtes Grünblau mit Dezimalzahlen
color(0, 255, 127)
dot(20)
Hinweis: Wie üblich sind die Farbkanäle RGB (rot, grün, blau) und der maximale Wert ist jeweils 255. Die Farbe oben enthält also kein Rot, superviel Grün und eine mittlere Menge Blau.
Es ist möglich, noch einen vierten Wert anzugeben, dieser bestimmt die Transparenz mit einem Wert zwischen 0 (=komplett durchsichtig) und 1 (=völlig deckend)
pencolor(0, 255, 127, 0.4). # 40% Sichtbarkeit
dot(50)
pensize(20)
forward(60)
Hinweis: Transparente Farben überlagern sich entsprechend ihrer Durchsichtigkeit.
Die Farbe zufällig wählen kannst Du daher ebenfalls auf mehrere Arten.
Für mindestens einen Farbkanal einen zufälligen Wert verwenden:
# eine von über 16.7 Mio zufälligen Farben wählen
color( randint(0,255), randint(0,255), randint(0,255) )
# eine von 56^2 = 3136 Varianten eines helleren Gelbtones wählen
color( randint(200,255), randint(200,255), 0)
# Eine Zufallszahl aus 0 bis 16777216 (=2 hoch 24) erstellen und ins Hexadezimalsystem umrechnen lassen:
color('#%06x' % randint(0, 2**24 - 1))
Die Hintergrundfarbe kann man mit dem Befehl Screen().bgcolor einstellen.
# Setzt die Hintergrundfarbe auf Lila
Screen().bgcolor("purple")
Die Befehle begin_fill() und end_fill() können um eine Reihe von Bewegungsbefehlen verwendet werden, um die gezeichnete Form zu füllen.
# Die Farbe der Füllung bestimmt man mit fillcolor
fillcolor("blue") #genau wie color, nur geht es hier um die Farbe der Füllung, nicht die des Stifts
# Um eine gefüllte Form zu zeichnen, beginne mit diesem Befehl
begin_fill()
# Zeichne deine Form
for i in range(3):
forward(50)
left(120)
# Stoppe das Füllen, sobald du die Form gezeichnet hast
end_fill() #wenn die Form nicht geschlossen ist, klappt das mit dem Füllen (logischerweise) manchmal nicht gut