¿Cómo crear formas de Turtle personalizadas en Python?

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')
Producción :

 

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')
Producción :

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')
Producción : 

 

Publicación traducida automáticamente

Artículo escrito por cosine1509 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *