delay() - hideturtle() - showturtle() - speed() - time.sleep() - tracer() - update()
Funzione | Argomenti | Valore | ? |
---|---|---|---|
delay() | numero | Restituisce il tempo (ms) di pausa tra due operazioni grafiche consecutive | |
delay(...) | numero | Imposta il tempo (ms) di pausa tra due operazioni grafiche consecutive | |
hideturtle() | La tartaruga diventa “invisibile”. | ||
showturtle() | La tartaruga ritorna “visibile”. | ||
speed() | numero | Restituisce la velocità di disegno (1, …, 10, 0) | |
speed(...) | numero | Imposta la velocità di disegno (1, …, 10, 0) | |
speed(...) | speed | Imposta la velocità di disegno (1, …, 10, 0) con il parametro con nome | |
tracer() | numero | Restituisce il numero di passi grafici tra una pausa e l’altra | |
tracer(...) | numero | Imposta il numero di passi grafici tra una pausa e l’altra | |
tracer(...) | numero numero | Imposta il numero di passi grafici tra una pausa e l’altra e la durata (ms) della pausa | |
update() | Aggiorna la finestra grafica (necessario se utilizzi tracer(0,0) prima) |
Impostazioni di default
Le impostazioni di default prevedono che la tartaruga sia visibile (sotto forma di una freccia) e che tra un tratto grafico e il successivo ci sia una certa pausa
import turtle
print(turtle.delay() ) # 10 (millisecondi)
print(turtle.isvisible()) # True
print(turtle.shape() ) # classic
print(turtle.speed() ) # 3
Più veloce?
In alcuni casi potresti avere bisogno di migliorare le prestazioni
- i tempi di realizzazione di un disegno sono troppo lunghi
- non sei interessato a evidenziare i singoli passi della tartaruga
- non sei interessato a vedere la tartaruga
Metodo 1
Elimina l’animazione dell’immagine della tartaruga durante il disegno
turtle.hideturtle()
Metodo 2
Diminuisci la pausa tra un passo e il successivo, aumentando la velocità (da 1 a 10, oppure 0…)
turtle.speed(1) # “slowest”
turtle.speed(3) # “slow”
turtle.speed(6) # “normal”
turtle.speed(10) # “fast”
turtle.speed(0) # “fastest”
Metodo 3
Diminuisci il tempo di pausa tra due operazioni grafiche consecutive
turtle.delay(10) # 10 ms di pausa
Metodo 4
Imposta il numero di passi grafici tra una pausa e l’altra
turtle.tracer(5, 10) # Esegue 5 passi (invece di 1) e dopo 10 ms di pausa
Metodo 5
Elimina sia passi che pause
turtle.tracer(0, 0)
...
e richiama l’aggiornamento della finestra solo alla fine delle operazioni
...
turtle.update()
Metodo 6
Se vuoi aggiungere una pausa alla fine di ogni fase di disegno utilizza time.sleep()
import time
...
turtle.update()
time.sleep(1000) # 1000 ms, un secondo di pausa
...
Esiste una pagina grafica di turtle, quadrettata? in modo da inserire punti sugli incroci?
Ho visto i commenti con molto ritardo…
Una soluzione: https://www.valcon.it/turtle/griglia-1/
Ok utilissimo l’utulizzo dei parametri velocità e hidden
from turtle import Turtle
bob = Turtle()
bob.pensize(1)
bob.fillcolor(“yellow”)
def Orizzontali(t, n, lunghezza):
bob.color(“red”)
for i in range(n):
t.fd(lunghezza)
t.lt(90)
t.fd(10)
t.lt(90)
t.fd(lunghezza)
t.rt(90)
t.fd(10)
t.rt(90)
t.fd(lunghezza)
t.lt(90)
t.fd(10)
t.lt(90)
t.fd(lunghezza)
t.rt(90)
t.fd(10)
t.rt(90)
###
def Verticali(t, n, lunghezza):
bob.color(“blue”)
for i in range(n):
t.rt(90)
t.fd(lunghezza)
t.lt(90)
t.fd(10)
t.lt(90)
t.fd(lunghezza)
t.rt(90)
t.fd(10)
t.rt(90)
t.fd(lunghezza)
t.lt(90)
t.fd(10)
t.lt(90)
t.fd(lunghezza)
t.rt(90)
t.fd(10)
#-27 x 24 bxh
bob.hideturtle()
bob.speed(0)
bob.color(“red”)
#bob.fillcolor(“yellow”)
bob.begin_fill()
Orizzontali(bob,6, 270) # lati, lunghezza
Verticali(bob,7, 240) # lati, lunghezza
bob.color(“black”)
bob.rt(180)
bob.fd(280)
bob.lt(90)
bob.fd(240)
bob.lt(90)
bob.fd(270)
bob.lt(90)
bob.fd(240)