Python Arcade - Adicionando Botões
Neste artigo, aprenderemos como podemos criar botões no Arcade usando python.
Adicionando Botões
No Arcade, podemos facilmente adicionar botões ao nosso jogo.
Para isso, usaremos algumas funções:
UIManager():
Sintaxe: arcade.gui.UIManager (janela, auto_enable)
Parâmetros:
- janela: Nossa janela de jogo
- auto_enable: aceita um valor booleano
UIBoxLayout():
Sintaxe: arcade.gui.UIBoxLayout (x, y, vertical, align, children, size)
Parâmetros:
- x: coordenada x do canto inferior esquerdo
- y: coordenada x do canto inferior esquerdo
- vertical: layout filho vertical (verdadeiro) ou horizontal (falso)
- alinhar: alinha os filhos na direção ortogonal (x: esquerda, centro, direita / y: topo, centro, fundo)
- filhos: filhos iniciais, mais podem ser adicionados
- size: Uma dica para UILayout, se este UIWidget quiser crescer
UIFlatButton():
Sintaxe: arcade.gui.UIFlatButton (x, y, largura, altura, texto, estilo)
Parâmetros:
- x: coordenada x do widget.
- y: coordenada y do widget.
- largura: largura do widget. O padrão é a largura da textura, se não for especificado.
- altura: altura do widget. O padrão é a altura da textura, se não for especificado.
- texto: texto a ser adicionado ao botão.
- estilo: Usado para estilizar o botão
Agora, para criar nosso botão, vamos criar uma classe chamada MainClass e, dentro desta classe, vamos inicializar uma variável para o UIManager. Depois disso, criaremos nosso botão usando o UIFlatButton() e então adicionaremos este botão em nosso UIManager. Em seguida, criaremos uma função on_draw() para desenhar nosso botão.
Abaixo está a implementação:
# 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()
Saída:
Adicionando funções no botão
Agora vamos criar uma função on_buttonclick() que será chamada toda vez que o usuário pressionar o botão.
# 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()
Saída:
Atenção geek! Fortaleça suas bases com o Python Programming Foundation Course e aprenda o básico.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva