En este artículo, aprenderemos cómo podemos crear botones en Arcade usando Python.
Agregar botones
En Arcade podemos agregar fácilmente botones a nuestro juego.
Para ello, utilizaremos algunas funciones:
UIManager():
Sintaxis: arcade.gui.UIManager(window, auto_enable)
Parámetros:
- ventana : Nuestra ventana de juego
- auto_enable: acepta un valor booleano
UIBoxLayout():
Sintaxis: arcade.gui.UIBoxLayout(x, y, vertical, align, children, size)
Parámetros:
- x : coordenada x de abajo a la izquierda
- y : coordenada x de abajo a la izquierda
- vertical : Disposición de niños vertical (Verdadero) u horizontal (Falso)
- align : Alinea a los niños en dirección ortogonal (x: izquierda, centro, derecha / y: arriba, centro, abajo)
- niños: niños iniciales, se pueden agregar más
- tamaño: una pista para UILayout, si este UIWidget quisiera crecer
UIFlatButton():
Sintaxis: arcade.gui.UIFlatButton(x, y, ancho, alto, texto, estilo)
Parámetros:
- x : coordenada x del widget.
- y : coordenada y del widget.
- ancho: ancho del widget. El valor predeterminado es el ancho de la textura si no se especifica.
- altura : altura del widget. El valor predeterminado es la altura de la textura si no se especifica.
- text : texto a añadir al botón.
- estilo : se utiliza para diseñar el botón
Ahora, para crear nuestro botón, vamos a crear una clase llamada MainClass y, dentro de esta clase, vamos a inicializar una variable para UIManager. Después de eso, crearemos nuestro botón usando UIFlatButton() y luego agregaremos este botón en nuestro UIManager. Luego crearemos una función on_draw() para dibujar nuestro botón.
A continuación se muestra la implementación:
Python3
# Importing arcade module import arcade # Importing arcade gui import arcade.gui # Creating MainGame class class MainGame(arcade.Window): def __init__(self): super().__init__(600, 600, title="Buttons") # Changing background color of screen arcade.set_background_color(arcade.color.BLUE) # Creating a UI MANAGER to handle the UI self.uimanager = arcade.gui.UIManager() self.uimanager.enable() # Creating Button using UIFlatButton start_button = arcade.gui.UIFlatButton(text="Start Game", width=200) # Adding button in our uimanager self.uimanager.add( arcade.gui.UIAnchorWidget( anchor_x="center_x", anchor_y="center_y", child=start_button) ) # Creating on_draw() function to draw on the screen def on_draw(self): arcade.start_render() # Drawing our ui manager self.uimanager.draw() # Calling MainGame class MainGame() arcade.run()
Producción:
Agregar funciones en Button
Ahora vamos a crear una función on_buttonclick() que se llamará cada vez que el usuario presione el botón.
Python3
# Importing arcade module import arcade # Importing arcade gui import arcade.gui # Creating MainGame class class MainGame(arcade.Window): def __init__(self): super().__init__(600, 600, title="Buttons") # Changing background color of screen arcade.set_background_color(arcade.color.BLUE) # Creating a UI MANAGER to handle the UI self.uimanager = arcade.gui.UIManager() self.uimanager.enable() # Creating Button using UIFlatButton start_button = arcade.gui.UIFlatButton(text="Start Game", width=200) # Assigning our on_buttonclick() function start_button.on_click = self.on_buttonclick # Adding button in our uimanager self.uimanager.add( arcade.gui.UIAnchorWidget( anchor_x="center_x", anchor_y="center_y", child=start_button) ) # This function will be called everytime the user # presses the start button def on_buttonclick(self, event): print("Button is clicked") # Creating on_draw() function to draw on the screen def on_draw(self): arcade.start_render() # Drawing our ui manager self.uimanager.draw() # 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