Python Arcade – Mostrar texto

En este artículo, aprenderemos cómo podemos agregar texto a los juegos de arcade en Python.

Agregar texto simple

Podemos agregar texto en la sala de juegos usando la función draw_text().

Sintaxis: arcade.draw_text(texto, x, y, color, tamaño, ancho, alineación, nombre_fuente)

Parámetros:

  • text: Texto que queremos mostrar
  • x : coordenada x
  • y : coordenada y
  • color : color del texto
  • tamaño : Tamaño de la fuente
  • ancho : Ancho del texto
  • align : Alineación del texto
  • font_name : Nombre de la fuente

En el siguiente ejemplo, vamos a crear una clase llamada MainGame, y dentro de esta clase, crearemos una función on_draw() en la que haremos la representación y el dibujo de nuestro texto. Luego llamaremos a nuestra clase MainGame() y a la función arcade.run().

A continuación se muestra la implementación:

Python3

# Importing arcade module
import arcade
  
# Creating MainGame class       
class MainGame(arcade.Window):
    def __init__(self):
        super().__init__(600, 600,
                         title="Text in Arcade")
  
  
    # Creating on_draw() function to draw on the screen
    def on_draw(self):
        arcade.start_render()
          
        # Drawing the text using draw_text()
        # draw_text function is used to draw 
        # text to the screen using Pyglet’s label.
        arcade.draw_text("GeeksforGeeks",120.0,300.0,
                         arcade.color.GREEN,40,80,'left')
  
# Calling MainGame class       
MainGame()
arcade.run()

Producción:

Actualización del texto

En este ejemplo, vamos a mostrar la puntuación como texto y queremos aumentar la puntuación en 10 puntos cada vez que el jugador toque el borde de la pantalla. Para ello, vamos a inicializar algunas variables para las coordenadas x e y, la puntuación y la velocidad del jugador en nuestra clase MainGame. Después de eso, crearemos 2 funciones:

  • on_draw(): Dibujaremos nuestro reproductor y texto dentro de esta función.
  • on_update(): Actualizaremos la coordenada x del jugador agregando velocidad. Luego cambiaremos la dirección del jugador y aumentaremos la puntuación si el jugador cruza los límites de la pantalla. Después de esto, llamaremos a nuestra clase MainGame().

A continuación se muestra la implementación:

Python3

# Importing arcade module
import arcade
  
# Creating MainGame class       
class MainGame(arcade.Window):
    def __init__(self):
        super().__init__(600, 600, title="Player Movement")
  
        # Initializing the initial x and y coordinated
        self.x = 250 
        self.y = 250
  
        # Creating variable to store the score
        self.score = 0
  
        # Initializing a variable to store
        # the velocity of the player
        self.vel = 300
  
    # Creating on_draw() function to draw on the screen
    def on_draw(self):
        arcade.start_render()
  
        # Drawing the rectangle using
        # draw_rectangle_filled function
        arcade.draw_rectangle_filled(self.x, self.y,50, 50,
                                     arcade.color.GREEN )
  
        # Drawing the text
        arcade.draw_text('Score :- '+str(self.score),150.0,500.0,
                         arcade.color.RED,20,180,'left')
          
    # Creating on_update function to
    # update the x coordinate
    def on_update(self,delta_time):
        self.x += self.vel * delta_time
  
        # Changing the direction of
        # movement if player crosses the screen
        # and increasing the score
        if self.x>=550 or self.x<=50:
            self.score += 10
            self.vel *= -1
          
# Calling MainGame class       
MainGame()
arcade.run()

Producción:

Publicación traducida automáticamente

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