En Turtle, por defecto, tenemos un cursor en forma de punta de flecha para dibujar en el lienzo. Esto se puede cambiar a alguna otra forma predefinida o también podemos crear una forma personalizada y registrarla con un nombre. No solo eso, incluso podemos usar imágenes en formato gif para reemplazar nuestro cursor.
Cambiar el cursor a formas predefinidas
La función shape() se usa para establecer la forma del cursor. Las formas predefinidas incluyen Turtle , flecha , círculo , cuadrado y triángulo .
Python3
import turtle # turtle object c_turtle = turtle.Turtle() # changing the cursor # shape to circle c_turtle.shape('circle')
Registro de nuevas formas
El módulo Turtle tiene la función register_shape() para registrar formas personalizadas.
Sintaxis: Turtle.register_shape(nombre, forma)
Parámetros:
- nombre: una string: el nombre de la forma que se va a registrar.
- forma: una tupla de tuplas que contiene las coordenadas de la forma personalizada.
El argumento de n-tuplas para el parámetro de forma indica la posición relativa de cada esquina de un polígono de n lados. Tratemos de crear una forma de diamante simple para entender esto.
Considere este diamante, que tiene una longitud de diagonal = 20, en un plano cartesiano:
Para crear esta forma, necesitamos pasar estas coordenadas en el sentido de las agujas del reloj.
Python3
import turtle # turtle object dimond_turtle = turtle.Turtle() # the coordinates # of each corner shape =((0, 0), (10, 10), (20, 0), (10, -10)) # registering the new shape turtle.register_shape('diamond', shape) # changing the shape to 'diamond' dimond_turtle.shape('diamond')
Usando imágenes para el cursor Turtle
Para usar una imagen como cursor, necesitamos pasar la ruta del archivo de imagen como parámetro a register_shape() . Tenga en cuenta que esta imagen tiene que estar en formato gif .
Python3
import turtle # turtle object img_turtle = turtle.Turtle() # registering the image # as a new shape turtle.register_shape('example.gif') # setting the image as cursor img_turtle.shape('example.gif')
Publicación traducida automáticamente
Artículo escrito por cosine1509 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA