Ingreso nombre usuario

Hola a todos, estoy tratando de hacer el ingreso del nombre de un usuario y que en la siguiente escena se muestre el nombre escrito al lado del puntaje.
Es algo simple pero mis conocimientos no son tantos :sob:
Gracias de antemano.
Saludos.

Les dejo lo que plantee pero estoy trabado:

import pilasengine
entrada = []

class EscenaMenu(pilasengine.escenas.Escena):
def iniciar(self):
global usuario
self.entrada = pilas.interfaz.IngresoDeTexto()
self.entrada.texto = “Texto inicial”

class EscenaJuego(pilasengine.escenas.Escena):
def iniciar(self):
global nombre_usuario

Buenas, @Rober !

Para el tema de ingreso de texto mira este post:

En ese post tambien tienes un link al MANUAL sobre interface de usuario.

Tambien te aconsejo que mires el manual y los ejemplos sobre creación de escenas. Yo de ti primero probaria el ingreso de texto en un script simple, y cuando ya te funcione te planteas el crear las escenas. :cold_sweat:

Un saludo.

Gracias @jordinur por tu respuesta, ya estuve viendo esos pero no supe implementarlas.
Ya tengo armadas y funcionando las escenas, esto seria un agregado pero no sabria como plantearlo, en la primer escena se pide el usuario, despues de ingresarlo pasa a la escena del juego propiamente dicho, ahi es donde yo quiero que me devuelva el resultado de lo ingresado en la escena anterior.

Buenas, @Rober

No se como lo tendrás, pero si todas las escenas están en el mismo script lo mejor para contener el nombre seria una variable global.

Como es esa variable donde tienes el ingreso_de_texto?

Si quieres aportar el código con mucho gusto lo revisaré.

Un saludo.

Buenas, @Rober

Aqui te dejo adaptado a tu cuestión el ejemplo que hizo @hugoruscitti para el caso de la tortuga.

Como ves, ingresas el nombre y en la siguiente escena te saluda usando la variable global.

Espero que sea lo que pedias.

Un saludo.

# -*- encoding: utf-8 -*-

import pilasengine
pilas=pilasengine.iniciar()

nombre = ''

class EscenaMenu(pilasengine.escenas.Escena): 
	def iniciar(self):
		self.valor1 = pilas.interfaz.IngresoDeTexto()
		self.valor1.texto =u'Nombre?'
	
		botonInicio = pilas.interfaz.Boton('Iniciar Juego')
		botonInicio.y = -100
		botonInicio.conectar(self.al_pulsar_el_boton)
	
	def obtener_valor(self, actor_texto):
		return str(actor_texto.texto)  # lo retorna

	def al_pulsar_el_boton(self):
		global nombre
		nombre = self.obtener_valor(self.valor1)
		
		pilas.escenas.EscenaJuego()	

class EscenaJuego(pilasengine.escenas.Escena):
	def iniciar(self):
		texto_Hola = pilas.actores.Texto('Hola,')
		texto_Hola.y = 50
		texto_nombre = pilas.actores.Texto(nombre) 

pilas.escenas.vincular(EscenaMenu)
pilas.escenas.vincular(EscenaJuego)

pilas.escenas.EscenaMenu()

pilas.ejecutar()

También se puede, sin usar variables globales, pasando el nombre como parámetro a la escena y recogiéndolo en su método iniciar:

# -*- encoding: utf-8 -*-

import pilasengine
pilas=pilasengine.iniciar()


class EscenaMenu(pilasengine.escenas.Escena): 
    def iniciar(self):
        self.valor1 = pilas.interfaz.IngresoDeTexto()
        self.valor1.texto =u'Nombre?'
    
        botonInicio = pilas.interfaz.Boton('Iniciar Juego')
        botonInicio.y = -100
        botonInicio.conectar(self.al_pulsar_el_boton)
    
    def obtener_valor(self, actor_texto):
        return str(actor_texto.texto)  # lo retorna

    def al_pulsar_el_boton(self):
        nombre = self.obtener_valor(self.valor1)
        
        pilas.escenas.EscenaJuego(nombre)    # pasas el nombre a la otra escena

class EscenaJuego(pilasengine.escenas.Escena):
    def iniciar(self, nombre):   # recoges el nombre pasado de la escena anterior
        texto_Hola = pilas.actores.Texto('Hola,')
        texto_Hola.y = 50
        texto_nombre = pilas.actores.Texto(nombre) 

pilas.escenas.vincular(EscenaMenu)
pilas.escenas.vincular(EscenaJuego)

pilas.escenas.EscenaMenu()

pilas.ejecutar()

Buenas, @fsalamero !

Sin duda tu solución es más elegante :smile:

Te agradezco mucho tu aporte, siempre es un placer aprender de los mejores! :blush:

1 Like

Un placer @jordinur , pero con la actividad que tenéis y lo bien que lo hacéis, en este foro los gurús sois @hugoruscitti y tú y es de vosotros de quien hay que aprender :clap:

1 Like

Muchas gracias a los dos
@jordinur @fsalamero
estaba viendo el de la tortuga,
eso era lo que no entendia como poner, como recoger el valor de lo que ingresaba en una escena y devolverlo en la otra.
Saludos.