Como hacer un cambio de esena

buenos días tengo una duda yo tengo una esena 1 y quiero que cada tantos puntos pase a otra esena 2 como lo ago

Hola @nachi, para pasarle los puntos de una escena a otra lo que podrías hacer es definir los puntos como argumentos:

http://manual.pilas-engine.com.ar/escenas/#escenas-con-argumentos

coding: utf-8

import pilasengine

pilas = pilasengine.iniciar()

#cantidad_puntos:0
#cantidad_vida:2

def opciones():
pilas.escenas.Opciones()
def volver_al_menu():
pilas.escenas.escenaMenu()
def iniciar_juego():
pilas.escenas.escenaJuego()
def salir_del_juego():
pilas.terminar()

def muerteE(disparo,grupoEnemigos):
grupoEnemigos.eliminar()
disparo.eliminar()

class escenaMenu(pilasengine.escenas.Escena):
def iniciar(self):
self.f=pilas.fondos.Fondo()
self.f.imagen=pilas.imagenes.cargar(‘C:\pilastps\ignaciopilas\imagenes\pokimon.jpg’)
self.lista_de_opciones= pilas.actores.Menu([
(‘Comenzar’,iniciar_juego),
(‘Salir’,salir_del_juego),
(‘Opciones’,opciones)
])

class Enemigo(pilasengine.actores.Actor):
def iniciar(self):
self.imagen=pilas.imagenes.cargar(“C:\pilastps\ignaciopilas\imagenes\Pikachu.png”)
self.escala=0.5
self.radio_de_colision=20
self.velocidad=pilas.azar(1,2)
self.y=2600
self.x=pilas.azar(-200,200)
self.aprender(pilas.habilidades.PuedeExplotarConHumo)
def actualizar(self):
self.y -=self.velocidad
if self.y < -300:
self.eliminar()

pilas.actores.vincular(Enemigo)

grupoEnemigos=pilas.actores.Grupo()
def crear_enemigos_siempre():
e=pilas.actores.Enemigo()
grupoEnemigos.agregar(e)

class Balas(pilasengine.actores.Actor):
def iniciar(self):
self.imagen=pilas.imagenes.cargar_grilla(‘C:\pilastps\ignaciopilas\imagenes\wpokeball.png’)
pilas.actores.vincular(Balas)

class Heroe(pilasengine.actores.Actor):
def iniciar(self):
self.imagen=pilas.imagenes.cargar_grilla(‘C:\pilastps\ignaciopilas\imagenes\wwop.png’,4)
self.escala=2
self.y=-185
self.aprender(pilas.habilidades.MoverseConElTeclado)
self.aprender(pilas.habilidades.SeMantieneEnPantalla)
self.aprender(pilas.habilidades.Disparar,municion=‘Balas’,offset_origen_actor=(0,0),angulo_salida_disparo=90, escala=0.10)
def actualizar(self):
if pilas.control.izquierda:
self.espejado=False
if pilas.control.derecha:
self.espejado=True
if pilas.control.arriba:
self.y=-185
if pilas.control.abajo:
self.y=-185

pilas.actores.vincular(Heroe)

#def restar_vidas(self):
   #global cantidad_vida
#global cantidad_puntos                                                                   
  #  cantidad_vida -= 1
    #self.puntos_de_vida.aumentar(-1) 
   # if cantidad_vida <=0:
      #pilas.escenas.EscenaPerdiste()
        #cantidad_vida=2
        #cantidad_puntos=0

class escenaJuego(pilasengine.escenas.Escena):
def iniciar(self):
global cantidad_puntitos
self.f=pilas.fondos.Fondo()
self.f.imagen=pilas.imagenes.cargar(“C:\pilastps\ignaciopilas\imagenes\images.jpg”)
self.f.escala =3
pilas.tareas.siempre(0.5,crear_enemigos_siempre)
pilas.colisiones.agregar(‘Balas’,‘Enemigo’,muerteE)
pilas.colisiones.agregar(‘Balas’,‘Enemigo’,self.sumar_puntos)
pilas.avisar(u"Con la tecla ESC volves al menu")
self.puntitos = pilas.actores.Puntaje(x=200, y=200, color=“rojo”)
w = pilas.actores.Heroe()
textito=pilas.actores.Texto(“pikachu atrapados”)
def sumar_puntos(self):
self.puntitos.aumentar(1)

pilas.escenas.vincular(escenaJuego)
pilas.escenas.escenaJuego()

class escenaJuego2(pilasengine.escenas.Escena):
def iniciar(self):
global cantidad_puntitos
self.f=pilas.fondos.Fondo()
self.f.imagen=pilas.imagenes.cargar(“C:\pilastps\ignaciopilas\imagenes”)
self.f.escala =0.9
pilas.tareas.siempre(0.5,crear_enemigos_siempre)
pilas.colisiones.agregar(‘Balas’,‘Enemigo’,muerteE)
pilas.avisar(u"Con la tecla ESC volves al menu")
self.puntitos = pilas.actores.Puntaje(x=200, y=200, color=“rojo”)
w = pilas.actores.Heroe()

def actualizar(self):

global cantidad_puntitos

pilas.escenas.vincular(escenaJuego2)
pilas.escenas.escenaJuego2()

class escenaGanaste(pilasengine.escenas.Escena):
def inciar(self):
self.f=pilas.fondos.Fondo()
self.f.imagen=pilas.imagenes.cargar(“C:\pilastps\ignaciopilas\imagenes”)

class escenaPerdiste(pilasengine.escenas.Escena):
def iniciar(self):
self.f=pilas.fondos.Fondo()
self.f.escala=1
self.f.imagen=pilas.imagenes.cargar(“C:\pilastps\ignaciopilas\imagenes\max.jpg”)

pilas.escenas.vincular(escenaMenu)
pilas.escenas.escenaMenu()

pilas.ejecutar()

pero lo que quería era que si estabas en la escena 1 y tener por ejemplo 10 puntos y cunado tengas 10 puntos pasas a la escena 2

En esa def programas un IF

def sumar_puntos(self):
    self.puntitos.aumentar()
    if puntitos.valor >= 10:
        pilas.escenas.escenaJuego2()
    else:
        pass

coding: utf-8

import pilasengine

pilas = pilasengine.iniciar()

#cantidad_puntos:0
#cantidad_vida:2

def opciones():
pilas.escenas.Opciones()
def volver_al_menu():
pilas.escenas.escenaMenu()
def iniciar_juego():
pilas.escenas.escenaJuego()
def salir_del_juego():
pilas.terminar()

def muerteE(disparo,grupoEnemigos):
grupoEnemigos.eliminar()
disparo.eliminar()

class escenaMenu(pilasengine.escenas.Escena):
def iniciar(self):
self.f=pilas.fondos.Fondo()
self.f.imagen=pilas.imagenes.cargar(‘D:\pilasnachi\imagenes\pokimon.jpg’)
self.lista_de_opciones= pilas.actores.Menu([
(‘Comenzar’,iniciar_juego),
(‘Salir’,salir_del_juego),
(‘Opciones’,opciones)
])

class Enemigo(pilasengine.actores.Actor):
def iniciar(self):
self.imagen=pilas.imagenes.cargar(“D:\pilasnachi\imagenes\Pikachu.png”)
self.escala=0.5
self.radio_de_colision=20
self.velocidad=pilas.azar(1,2)
self.y=2600
self.x=pilas.azar(-200,200)
self.aprender(pilas.habilidades.PuedeExplotarConHumo)
def actualizar(self):
self.y -=self.velocidad
if self.y < -300:
self.eliminar()

pilas.actores.vincular(Enemigo)

grupoEnemigos=pilas.actores.Grupo()
def crear_enemigos_siempre():
e=pilas.actores.Enemigo()
grupoEnemigos.agregar(e)

class Balas(pilasengine.actores.Actor):
def iniciar(self):
self.imagen=pilas.imagenes.cargar_grilla(‘D:\pilasnachi\imagenes\wpokeball.png’)
pilas.actores.vincular(Balas)

class Heroe(pilasengine.actores.Actor):
def iniciar(self):
self.imagen=pilas.imagenes.cargar_grilla(‘D:\pilasnachi\imagenes\wwop.png’,4)
self.escala=2
self.y=-185
self.aprender(pilas.habilidades.MoverseConElTeclado)
self.aprender(pilas.habilidades.SeMantieneEnPantalla)
self.aprender(pilas.habilidades.Disparar,municion=‘Balas’,offset_origen_actor=(0,0),angulo_salida_disparo=90, escala=0.10)
def actualizar(self):
if pilas.control.izquierda:
self.espejado=False
if pilas.control.derecha:
self.espejado=True
if pilas.control.arriba:
self.y=-185
if pilas.control.abajo:
self.y=-185

pilas.actores.vincular(Heroe)

def restar_vidas(self):

global cantidad_vida

#    global cantidad_puntos                                                                   
  #  cantidad_vida -= 1
    #self.puntos_de_vida.aumentar(-1) 
    #if cantidad_vida <=0:
       # pilas.escenas.EscenaPerdiste()
        #cantidad_vida=2
        #cantidad_puntitos=0

class escenaJuego(pilasengine.escenas.Escena):
def iniciar(self):
global cantidad_puntitos
self.f=pilas.fondos.Fondo()
self.f.imagen=pilas.imagenes.cargar(“D:\pilasnachi\imagenes\images.jpg”)
self.f.escala =3
pilas.tareas.siempre(0.5,crear_enemigos_siempre)
pilas.colisiones.agregar(‘Balas’,‘Enemigo’,muerteE)
pilas.colisiones.agregar(‘Balas’,‘Enemigo’,self.sumar_puntos)
pilas.avisar(u"Con la tecla ESC volves al menu")
self.puntitos = pilas.actores.Puntaje(x=200, y=200, color=“rojo”)
w = pilas.actores.Heroe()
textito=pilas.actores.Texto(“pikachu atrapados=”)
def sumar_puntos(self):
self.puntitos.aumentar()
if cantidad_puntitos >= 10:
pilas.escenas.escenaJuego2()
else:
pass

pilas.escenas.vincular(escenaJuego)
pilas.escenas.escenaJuego()

class escenaJuego2(pilasengine.escenas.Escena):
def iniciar(self):
global cantidad_puntitos
self.f=pilas.fondos.Fondo()
self.f.imagen=pilas.imagenes.cargar(“D:\pilasnachi\imagenes”)
self.f.escala =0.9
pilas.tareas.siempre(0.5,crear_enemigos_siempre)
pilas.colisiones.agregar(‘Balas’,‘Enemigo’,muerteE)
pilas.avisar(u"Con la tecla ESC volves al menu")
self.puntitos = pilas.actores.Puntaje(x=200, y=200, color=“rojo”)
w = pilas.actores.Heroe()
def sumar_puntos(self):
self.puntitos.aumentar(1)

pilas.escenas.vincular(escenaJuego2)
pilas.escenas.escenaJuego2()

class escenaGanaste(pilasengine.escenas.Escena):
def inciar(self):
self.f=pilas.fondos.Fondo()
self.f.imagen=pilas.imagenes.cargar(“D:\pilasnachi\imagenes”)

class escenaPerdiste(pilasengine.escenas.Escena):
def iniciar(self):
self.f=pilas.fondos.Fondo()
self.f.escala=1
self.f.imagen=pilas.imagenes.cargar(“D:\pilasnachi\imagenes\max.jpg”)

pilas.escenas.vincular(escenaMenu)
pilas.escenas.escenaMenu()

pilas.ejecutar()

me aparece un error de sintaxis y me ayudas es que no se como poner la vida de mi personaje(calss héroe) y como poner para que en las escenas ganaste y perdiste pueda volver al menu te agradeceria mucho si me ayudas

Buenas, @nachi!

Te agradecería que para consultas nuevas abras post nuevo, ya que este post era para hacer un cambio de escena y tú estás preguntando por otros problemas que no tienen nada que ver.

Además. sería bueno que leyeras el post de bienvenida

En ese post se explica como indexar correctamente tu código, ya que un código tan largo y sin indexar es prácticamente ilegible.

Gracias.