En este artículo, discutiremos cómo mover a los jugadores usando arcade en Python.
Movimientos Automáticos
Podemos mover fácilmente a nuestros jugadores en cualquier dirección en particular en la sala de juegos. Para esto, vamos a dibujar un rectángulo usando el método draw_rectangle_filled() y luego cambiaremos la coordenada x de este rectángulo.
Sintaxis: arcade.draw_rectangle_filled(x, y, ancho, alto, color, ángulo)
Parámetros:
- x : coordenada x del centro del rectángulo
- y : coordenada y del centro del rectángulo
- ancho : ancho del rectángulo
- altura : altura del rectángulo
- color : color del rectángulo
- ángulo : rotación del rectángulo.
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 # 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 ) # 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 if self.x>=550 or self.x<=50: self.vel *= -1 # Calling MainGame class MainGame() arcade.run()
Producción:
Movimiento del jugador usando entradas de teclado
En arcade, podemos tomar entradas de los usuarios para mover a nuestros jugadores. Para ello, utilizaremos la función on_key_press() y on_key_release().
Sintaxis:
- on_key_press(símbolo,modificadores)
- on_key_release) símbolo, modificadores)
Parámetros:
- símbolo: Tecla que fue golpeada
- modificadores: ‘y’ bit a bit de todos los modificadores (shift, ctrl, bloq num) presionados durante este evento
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 # Initializing a variable to store # the velocity of the player self.vel_x = 0 self.vel_y = 0 # 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 ) # Creating on_update function to # update the x coordinate def on_update(self,delta_time): self.x += self.vel_x * delta_time self.y += self.vel_y * delta_time # Creating function to change the velocity # when button is pressed def on_key_press(self, symbol,modifier): # Checking the button pressed # and changing the value of velocity if symbol == arcade.key.UP: self.vel_y = 300 elif symbol == arcade.key.DOWN: self.vel_y = -300 elif symbol == arcade.key.LEFT: self.vel_x = -300 elif symbol == arcade.key.RIGHT: self.vel_x = 300 # Creating function to change the velocity # when button is released def on_key_release(self, symbol, modifier): # Checking the button released # and changing the value of velocity if symbol == arcade.key.UP: self.vel_y = 0 elif symbol == arcade.key.DOWN: self.vel_y = 0 elif symbol == arcade.key.LEFT: self.vel_x = 0 elif symbol == arcade.key.RIGHT: self.vel_x = 0 # 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