Prerrequisito: Programación Turtle en Python
En este artículo, vamos a crear Fidget Spinner utilizando el módulo de Turtle de Python. Es una característica de Python como un tablero de dibujo, ¡que nos permite ordenarle a una Turtle que dibuje por todas partes! Podemos usar funciones como turtle.forward() y turtle.right() que pueden mover la Turtle.
Veamos la implementación paso a paso:
Paso 1: dibujar el fidget spinner
Aquí, en este fragmento de código, inicializaremos el estado del fidget spinner, los ángulos para girarlo en sentido horario y antihorario y crearemos los gráficos de colores necesarios para hacer el fidget spinner.
Python3
# initial state of spinner is null (stable) state= {'turn':0 } # Draw fidget spinner def spin(): clear() # Angle of fidget spinner angle = state['turn']/10 right(angle) # move the turtle forward by specified # distance forward(100) # draw a dot with diameter 120 using colour # red dot(120, 'red') # move the turtle backward by specified # distance back(100) "second dot" right(120) forward(100) dot(120, 'blue') back(100) "third dot" right(120) forward(100) dot(120, 'green') back(100) right(120) update()
Producción:
Paso 2: Animar el fidget spinner
En este paso, llamaremos a una función animar() que animará el fidget spinner al ver si el estado es mayor que 0, luego disminuirá uno de ellos y llamará a la función de giro nuevamente. Después de eso, se instala un temporizador que volverá a llamar a la función animada después de 20 milisegundos.
Python3
# Animate fidget spinner def animate(): if state['turn'] > 0: state['turn'] -= 1 spin() ontimer(animate, 20)
Paso 3: mover el fidget spinner, configurar la ventana y rastrear el spinner hasta su posición original
Aquí definiremos la función de movimiento que moverá el fidget spinner aumentando su estado a 40, también configuraremos una ventana y su color de fondo, usaremos un rastreador que devuelva el fidget spinner a su estado inicial después de completar su rotación y después de eso, definiremos el ancho y el color de nuestro fidget spinner y, por último, definiremos la tecla para mover el fidget spinner.
Python3
# Flick fidget spinner def flick(): # acceleration of spinner state['turn'] += 40 # setup window screen setup(600, 400, 370, 0) bgcolor("black") tracer(False) '''tracer brings back the fidget spinner into its initial state after completing the rotation''' # wing of fidget spinner width(60) color("orange") # keyboard key for the rotation of spinner onkey(flick, 'space') listen() animate() done()
A continuación se muestra la implementación completa:
Python3
# import object from module turtle from turtle import * # initial state of spinner is null (stable) state= {'turn':0 } # Draw fidget spinner def spin(): clear() # Angle of fidget spinner angle = state['turn']/10 # To rotate in clock wise we use right # for Anticlockwise rotation we use left right(angle) # move the turtle forward by specified distance forward(100) # draw a dot with diameter 120 using colour red dot(120, 'red') # move the turtle backward by specified distance back(100) "second dot" right(120) forward(100) dot(120, 'blue') back(100) "third dot" right(120) forward(100) dot(120, 'green') back(100) right(120) update() # Animate fidget spinner def animate(): if state['turn']>0: state['turn']-=1 spin() ontimer(animate, 20) # Flick fidget spinner def flick(): state['turn']+=40 #acceleration of spinner # setup window screen setup(600, 400, 370, 0) bgcolor("black") tracer(False) # wing of fidget spinner width(60) color("orange") # keyboard key for the rotation of spinner onkey(flick,'space') listen() animate() done()
Producción:
Publicación traducida automáticamente
Artículo escrito por saranshsahgal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA