¿Cómo animar un objeto usando el módulo Arcade?

Prerrequisito: Biblioteca Arcade

El mundo de la Programación es muy amplio, y la animación es su alma clave. En este tutorial, aprenderá cómo animar objetos en Python usando el módulo Arcade. Arcade es un módulo de programación actual que se utiliza para desarrollar juegos 2D con sonido y gráficos fascinantes.

Antes de comenzar con el artículo, debe revisar sus conceptos del módulo arcade de Python. Para explicar todo el concepto de animar un objeto, tomemos un ejemplo para entenderlo completamente. Todos deben saber que el bucle anidado está en C, Python o Java y probablemente hayan creado muchos patrones usándolo. Aquí, animaremos un cuadro con la ayuda de la biblioteca  arcade Python.

Enfoque paso a paso:

Paso 1) Importar biblioteca arcade .

Python3

# Import required module 
import arcade

Paso 2) Aquí especificaremos algunos parámetros, que usaremos más adelante en el programa para declarar el ancho, el alto y el título de la pantalla.

Python3

# Set up the constants
  
# Size of the screen
SCREEN_WIDTH = 720
SCREEN_HEIGHT = 480
SCREEN_TITLE = "Bouncing Box"
  
# Size of the rectangle
RECT_WIDTH = 50
RECT_HEIGHT = 50

Paso 3) Defina la función para dibujar el cuadro arcade.draw_rectangle_filled( ) Modifique la posición de los rectángulos en función del vector delta.

Python3

# Explicilt function generate animated bouncing box
def on_draw(delta_time):
  
    # Start the render.
    arcade.start_render()
  
    arcade.draw_rectangle_filled(on_draw.center_x, on_draw.center_y,
                                 RECT_WIDTH, RECT_HEIGHT,
                                 arcade.color.GREEN)
  
    on_draw.center_x += on_draw.delta_x * delta_time
    on_draw.center_y += on_draw.delta_y * delta_time
  
    # Figure out if we hit the edge and need to reverse.
    if on_draw.center_x < RECT_WIDTH // 2 \
            or on_draw.center_x > SCREEN_WIDTH - RECT_WIDTH // 2:
        on_draw.delta_x *= -1
    if on_draw.center_y < RECT_HEIGHT // 2 \
            or on_draw.center_y > SCREEN_HEIGHT - RECT_HEIGHT // 2:
        on_draw.delta_y *= -1

Paso 4: -Ahora, defina las variables específicas de la función. Además, necesitamos darles valores iniciales. Luego, los valores persistirán entre llamadas a funciones.

Python3

# Set initial positions
on_draw.center_x = 100
on_draw.center_y = 50
on_draw.delta_x = 115
on_draw.delta_y = 130

Paso 5) Ahora, el último paso es definir la función principal. Bajo el cual, debe definir los colores de fondo.

Python3

# Driver code
  
# Open up our window
arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
arcade.set_background_color(arcade.color.WHITE)
  
# Tell the computer to call the draw command at the specified interval.
arcade.schedule(on_draw, 1 / 80)
  
# Run the program
arcade.run()

A continuación se muestra el programa completo del enfoque anterior:

Python3

# Import required module
import arcade
  
  
# Set up the constants
  
# Size of the screen
SCREEN_WIDTH = 720
SCREEN_HEIGHT = 480
SCREEN_TITLE = "Bouncing Box"
  
# Size of the rectangle
RECT_WIDTH = 50
RECT_HEIGHT = 50
  
  
# Explicilt function generate animated bouncing box
def on_draw(delta_time):
  
    # Start the render.
    arcade.start_render()
  
    arcade.draw_rectangle_filled(on_draw.center_x, on_draw.center_y,
                                 RECT_WIDTH, RECT_HEIGHT,
                                 arcade.color.GREEN)
  
    on_draw.center_x += on_draw.delta_x * delta_time
    on_draw.center_y += on_draw.delta_y * delta_time
  
    # Figure out if we hit the edge and need to reverse.
    if on_draw.center_x < RECT_WIDTH // 2 \
            or on_draw.center_x > SCREEN_WIDTH - RECT_WIDTH // 2:
        on_draw.delta_x *= -1
    if on_draw.center_y < RECT_HEIGHT // 2 \
            or on_draw.center_y > SCREEN_HEIGHT - RECT_HEIGHT // 2:
        on_draw.delta_y *= -1
  
  
# Set initial positions
on_draw.center_x = 100
on_draw.center_y = 50
on_draw.delta_x = 115
on_draw.delta_y = 130
  
  
# Driver code
  
# Open up our window
arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
arcade.set_background_color(arcade.color.WHITE)
  
# Tell the computer to call the draw command at the specified interval.
arcade.schedule(on_draw, 1 / 80)
  
# Run the program
arcade.run()

Producción:

Publicación traducida automáticamente

Artículo escrito por pulkitagarwal03pulkit 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 *