No me anda la vinculacion de las pantallas

#CÓDIGO INDEXADO POR ADMINISTRADOR.
#POR FAVOR, REVISA CÓMO INDEXAR CORRECTAMENTE TU CÓDIGO
#EN EL MENSAJE DE BIENVENIDA AL FORO. GRACIAS.

import pilasengine
import os
import random

pilas = pilasengine.iniciar()

#cancion_de_fondo = pilas.musica.cargar('Combo_Breaker_Japan.mp3')
#cancion_de_fondo.reproducir()

### Algunas funciones para el juego ###
###def lista_palabras()
    


def volveralmenu():
    pilas.escenas.EscenaMenu()


#"""class IngresoTexto(pilasengine.interfaz.ingreso_de_texto):"""

def iniciar_juego():
    pilas.escenas.EscenaJuego()


def records():
    pilas.escenas.EscenaRecords()

def salir_del_juego():
    pilas.terminar()
    cancion_de_fondo.detener()
	

class TextoEnemigo(pilasengine.actores.Texto):

    def __init__(self, *k, **kw):
        pilasengine.actores.Texto.__init__(self, *k, **kw)
        self.post_iniciar()
    
    def post_iniciar(self):

        self.x = pilas.azar(-200, 200)
        self.y = 290
        self.velocidad = pilas.azar(10, 11) / 5.0

    def actualizar(self):
        self.y -= self.velocidad

        # Elimina el objeto cuando sale de la pantalla.
        if self.y < -300:
            self.eliminar()


	

	
class EscenaMenu(pilasengine.escenas.Escena):

    def iniciar(self):
        MenuPrincipal = pilas.fondos.Tarde()
        mennu = pilas.actores.Menu([('Iniciar juego', iniciar_juego),
		                            ('Records', records),
									('Salir', salir_del_juego)])
        mennu.color = "amarillo"
        mennu.escala =1.3
		

        self._crear_el_titulo_del_juego()


    def _crear_el_titulo_del_juego(self):
        titulo = self.pilas.actores.Texto("MATA PALABRAS", magnitud=30, y=50)
        titulo.y = 300
        titulo.rotacion = 30
        titulo.y = [100], 1
        titulo.rotacion = [0], 1.2


        
listas = ["BAUTISTA","SILLA","MURCIELAGO","MESA",
          "PROGRAMA","FACTURA","ARQUITECTURA","CARA"]


        

class EscenaJuego(pilasengine.escenas.Escena):

    def iniciar(self):
        self.pilas.fondos.Galaxia(dy=-5)
        #fondo = pilas.fondos.Galaxia(dy=-5)
        self.pilas.tareas.siempre(3, self._crear_un_actor_texto)
        #self.pilas.eventos.click_de_mouse.conectar(self._cuando_hace_click)
        self.puntaje = pilas.actores.Puntaje(290, 200, color="blanco")
        self.crear_ingreso_de_texto()
        
        self.textos_en_pantalla = []

		
    def _crear_un_actor_texto(self):
        #actor = TextoEnemigo(pilas, texto="BAUTISTA")
        #enemigos.agregar(actor)
        hasta = len(listas)
        texto = listas[pilas.azar(0, hasta-1)]
        actor = self.pilas.actores.TextoEnemigo(texto)
        self.textos_en_pantalla.append(actor)

    def crear_ingreso_de_texto(self):
        self.ingreso = self.pilas.interfaz.IngresoDeTexto("", y=-200)

        self.tareas.siempre(0.2, self._revisar_textos_a_eliminar)
        
    def _revisar_textos_a_eliminar(self):
        for actor in self.textos_en_pantalla:
            if actor.esta_eliminado():
                continue
            #print([actor.texto], "-", [self.ingreso.texto])
            if self.ingreso.texto and str(actor.texto).lower() in str(self.ingreso.texto).lower():
                self.ingreso.texto = ""
                self.textos_en_pantalla.remove(actor)
                #self.pilas.actores.Explosion(actor.x, actor.y)
                actor.eliminar()
                print("Eliminando actor:", actor.texto)
        



class TextoEnemigo(pilasengine.actores.Texto):

    def __init__(self, *k, **kw):
        pilasengine.actores.Texto.__init__(self, *k, **kw)
        self.post_iniciar()
    
    def post_iniciar(self):

        self.x = pilas.azar(-200, 200)
        self.y = 290
        self.velocidad = pilas.azar(10, 11) / 5.0

    def actualizar(self):
        self.y -= self.velocidad

        # Elimina el objeto cuando sale de la pantalla.
        if self.y < -250:
            self.eliminar()



                
class EscenaRecords(pilasengine.escenas.Escena):

    def iniciar(self):
        fondoh = pilas.fondos.Noche()
        #fondoh.imagen = pilas.imagenes.cargar("EscenaRecords.png")
        menuu = pilas.actores.Menu([('Volver al menu', volveralmenu)])
        menuu.y = -200        


## Vinculamos todas las escenas.
pilas.escenas.vincular(EscenaMenu)
pilas.escenas.vincular(EscenaJuego)
pilas.escenas.vincular(EscenaRecords)


## Vinculamos los actores Personalizados
#pilas.actores.vincular(BotonVolver)
pilas.actores.vincular(TextoEnemigo)
#pilas.actores.vincular(ActorEliminado)
#pilas.actores.vincular(IngresoTexto)


# Se inicia la escena principal.
#pilas.escenas.EscenaMenu()
pilas.escenas.EscenaJuego()


pilas.ejecutar()

Buenas, @jessirodriguez16 !

Disculpa, pero no entiendo tu pregunta… He testado tu juego y la vinculación de escenas funciona correctamente :hushed:

Lo único que tenías puesto que empezara por la EscenaJuego() en vez de la EscenaMenu()

Simplemente tienes que comentar la linea que llama a la escena del juego, y descomentar la linea que llama a la escena del menú:

# Se inicia la escena principal.
pilas.escenas.EscenaMenu()
#pilas.escenas.EscenaJuego()

Un saludo! :wink:

hola, hice lo que me dijiste y me sale error, lo que yo quiero es que empiece con el menú y me salga las opciones de juego, una ves que entras al juego caen las palabras y la tenes que escribir bien, pero eso tampoco anda, escribe la palabra pero no las guarda

Buenas, @jessirodriguez16!

Como ya te dije testé tu juego y las escenas funcionaron correctamente.

Para entrar primero al menú simplemente cambié lo que ya te expliqué y funcionó a la primera.

Qué error es el que te da???

El tema de las palabras que no se borran sí que ví que algunas se borraban y algunas no. Quizás tu código sea un tanto complicado??? No veo el por qué usaste los init cuando en pilasengine no hacen falta, basta con usar la def iniciar():

Recuerdo que hace unos meses hice un juego con la misma mecánica… quizás el enlace te sirva para guiarte mejor:

Un saludo! :wink: