Problema al crear una Escena [Solucionado]

Hola a todos, Tengo un problema/duda, He creado un menú/escena en el que hay un botón y un texto y necesito que cuando el usuario pulse el botón aparezca una nueva escena, pero no me sale, aqui esta el codigo:

import pilasengine

pilas = pilasengine.iniciar()

class PantallaBienvenida(pilasengine.escenas.Escena):

def iniciar(self):
    self.fondo = self.pilas.fondos.Volley()
    self.texto = pilas.actores.Texto("Bienvenido a mi primer Escena")
    self.boton = pilas.interfaz.Boton("Iniciar")
    self.boton.x = 0
    self.boton.y = -56
    pass
    
def ejecutar(self):
    pass
def tocar_boton(self):
    self.pilas.escenas.Normal() 

pilas.escenas.vincular(PantallaBienvenida)
pilas.escenas.PantallaBienvenida()

pilas.ejecutar()

Espero haberme explicado bien :slight_smile:

Hola maquina, como te va?
Primero, cambiate este codigo:

Por este otro:

La idea es asegurarnos que, al hacer click en el boton se este llamando correctamente al metodo, como? Si se crea el mono, entonces lo estamos llamando bien.

Si se creo el mono: seguimos por aca.

Si lo cambias por este funciona?

Proba y contame!

Saludos!!

1 Like

Hola @Brayan_Garcia, me parece que todo está bien con tu código, solo que te faltaría conectar la función con el evento “click” del botón. Así por ejemplo:

Este sería el código completo:

# coding: utf-8
import pilasengine

pilas = pilasengine.iniciar()

class PantallaBienvenida(pilasengine.escenas.Escena):

    def iniciar(self):
        self.fondo = self.pilas.fondos.Volley()
        self.texto = pilas.actores.Texto("Bienvenido a mi primer Escena")
        self.boton = pilas.interfaz.Boton("Iniciar")
        self.boton.x = 0
        self.boton.y = -56
        self.boton.conectar(self.tocar_boton)

    def ejecutar(self):
        pass
    
    def tocar_boton(self):
        self.pilas.escenas.Normal()

pilas.escenas.vincular(PantallaBienvenida)
pilas.escenas.PantallaBienvenida()

Abrazo!

1 Like

Muchas gracias @hugoruscitti, he podido resolver el problema correctamente Y gracias por responder @Kantabria