***Buenas , podrian ayudarme con esto ? a la hora de agregar el menu a nuestro juego crea conflictos con las colisiones y arruina las tareas.
import pilasengine
pilas = pilasengine.iniciar()
def Ganador (mini,winner):
music.detener()
mini.eliminar()
texto = pilas.actores.Texto(“Winner”)
pilas.tareas.eliminar_todas()
contador.eliminar()
fondo = pilas.actores.MapaTiled(‘winner.tmx’)
pilas.camara.escala = 1
pilas.escena_actual().camara.x=0
pilas.escena_actual().camara.y=0
texto.rotacion = 30
texto.rotacion = [0], 1.2
texto.escala_x = [ 2, 0.8, 1], 0.15
texto.escala_y = [0.8, 2, 1], 0.1
a = pilas.azar(-50, 50)
texto.rotacion = [a, 1], 0.1
texto.escala = 4
texto.escala = [1], 1.5
def Eliminar (mini,boton):
roca.eliminar()
rectagulo2.eliminar()
music = pilas.sonidos.cargar(“make_a_move.wav”)
mgo = pilas.sonidos.cargar(“gameos.wav”)
music.reproducir()
music.detener()
def finmusica(evento):
music.detener()
mgo.detener()
pilas.escena_actual().click_de_mouse.conectar(finmusica)
class EscenaMenu(pilasengine.escenas.Escena):
def iniciar(self):
self.pilas.tareas.eliminar_todas()
self.pilas.fondos.FondoMozaico('azul.png')
actor_texto = self.pilas.actores.Actor()
actor_texto.imagen = "click.png"
self._aplicar_animacion(actor_texto)
self.pilas.eventos.click_de_mouse.conectar(self._iniciar_el_juego)
self._crear_el_titulo_del_juego()
self.pilas.escena_actual().camara.x=0
self.pilas.escena_actual().camara.y=0
def _aplicar_animacion(self, texto):
texto.y = -500
texto.escala = 4
texto.escala = [1], 1.5
texto.y = [-100], 1
def _iniciar_el_juego(self, evento):
self.pilas.escenas.EscenaJuego()
def _crear_el_titulo_del_juego(self):
titulo = self.pilas.actores.Actor()
titulo.imagen = "titulo.png"
titulo.y = 300
titulo.rotacion = 30
titulo.y = [100], 1
titulo.rotacion = [0], 1.2
class EscenaJuego(pilasengine.escenas.Escena):
def iniciar(self):
self.pilas.fondos.FondoMozaico('arbol.png')
self.fondo = pilas.actores.MapaTiled('laberinto_i2.tmx')
self.capa = pilas.actores.Pizarra()
self.capa.pintar(pilas.colores.negro)
self.capa.transparencia = [35]
self._crear_boton_volver()
def _crear_boton_volver(self):
pilas.actores.Mini()
pilas.actores.Roca()
pilas.actores.Boton1()
winner = pilas.actores.ActorInvisible()
winner.transparencia = 100
winner.escala = 0.2
winner.x = -310
winner.y = 216
tiempo = 50
contador = pilas.actores.Texto("50")
contador.x = 300
contador.y = 230
rectagulo2 = pilas.fisica.Rectangulo(206,127, 30,40, dinamica=False)
###Grilla_Prota###
class Boton1 (pilasengine.actores.Actor):
def iniciar (self):
self.imagen = "boton1.png"
self.x = -48
self.y = 68
self.escala = 0.2
class Roca (pilasengine.actores.Actor):
def iniciar (self):
self.imagen = "piedra.png"
self.rotacion = [150]
self.x = 206
self.y = 127
self.escala = 0.7
class Mini(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = pilas.imagenes.cargar_animacion("emilio.png",4,4)
self.escala = 0.60
self.imagen.definir_animacion('parado', [2], 10)
self.imagen.definir_animacion('sur', [4,5,6,7], 10)
self.imagen.definir_animacion('caminar', [12,13,14,15], 10)
self.imagen.definir_animacion('norte', [0,1,2,3], 10)
self.figura = self.pilas.fisica.Rectangulo(305, -228, 10)
self.figura.escala_de_gravedad = 0
self.figura.sin_rotacion = True
self.hacer_inmediatamente('ComportamientoNormal')
###Movimiento_Figura_fisica###
def actualizar(self):
velocidad = 2
self.x = self.figura.x
self.y = self.figura.y
if self.pilas.control.arriba:
self.figura.velocidad_y = velocidad
if self.pilas.control.abajo:
self.figura.velocidad_y = -velocidad
if self.pilas.control.derecha:
self.figura.velocidad_x = velocidad
self.espejado = False
elif self.pilas.control.izquierda:
self.figura.velocidad_x = -velocidad
self.espejado = True
else:
self.figura.velocidad_x = 0
#####estas dos lineas son el seguimiento con la camara#####
######Limite_Mapa########
if self.x > 305:
self.x = 305
if self.x < -305:
self.x = -305
if self.y > 228:
self.y = 228
if self.y < -228:
self.y = -228
self.imagen.avanzar()
####Clases_Movimiento####
class ComportamientoNormal(pilasengine.comportamientos.Comportamiento):
def iniciar(self, receptor):
self.receptor = receptor
self.receptor.imagen.cargar_animacion('parado')
####esta linea de aqui es el aumento#######
pilas.camara.escala = 1
def actualizar(self):
self.receptor.figura.velocidad_x = 0
self.receptor.figura.velocidad_y = 0
if pilas.control.derecha or pilas.control.izquierda:
self.receptor.hacer_inmediatamente('ComportamientoCaminar')
if pilas.control.arriba:
self.receptor.hacer_inmediatamente('ComportamientoNorte')
if pilas.control.abajo:
self.receptor.hacer_inmediatamente('ComportamientoSur')
class ComportamientoCaminar(pilasengine.comportamientos.Comportamiento):
def iniciar(self, receptor):
self.receptor = receptor
self.receptor.imagen.cargar_animacion('caminar')
def actualizar(self):
if not pilas.control.derecha and not pilas.control.izquierda:
self.receptor.hacer_inmediatamente('ComportamientoNormal')
class ComportamientoNorte(pilasengine.comportamientos.Comportamiento):
def iniciar(self, receptor):
self.receptor = receptor
self.receptor.imagen.cargar_animacion('norte')
def actualizar(self):
if not pilas.control.arriba:
self.receptor.hacer_inmediatamente('ComportamientoNormal')
if pilas.control.derecha and pilas.control.izquierda:
self.receptor.hacer_inmediatamente('ComportamientoCaminar')
class ComportamientoSur(pilasengine.comportamientos.Comportamiento):
def iniciar(self, receptor):
self.receptor = receptor
self.receptor.imagen.cargar_animacion('sur')
def actualizar(self):
if not pilas.control.abajo:
self.receptor.hacer_inmediatamente('ComportamientoNormal')
if pilas.control.derecha and pilas.control.izquierda:
self.receptor.hacer_inmediatamente('ComportamientoCaminar')
le indicamos a pilas que llame a la funcion cada 1 segundo
pilas.tareas.siempre(1, descontar_tiempo)
###Vinculaciones###
pilas.escenas.vincular(EscenaMenu)
pilas.escenas.vincular(EscenaJuego)
pilas.comportamientos.vincular(ComportamientoNormal)
pilas.comportamientos.vincular(ComportamientoCaminar)
pilas.comportamientos.vincular(ComportamientoNorte)
pilas.comportamientos.vincular(ComportamientoSur)
pilas.escenas.EscenaMenu()
########Final##############
pilas.actores.vincular(Mini)
pilas.actores.vincular(Roca)
pilas.actores.vincular(Boton1)
####esto es para que cuando se termine el mapa no quede el fondo azul####
#####tira un texto al iniciar####
pilas.avisar("Resulve el laberinto antes que termine el tiempo “)#si quiere quitar la musica apriete click”)
###########################################################################
pilas.ejecutar()
###Echo Por Martinez, Szostak , Acuña y Nuñez###
Es para un trabajo que tenemos que entregar esta semana , les agradeceria mucho si pudieran ayudarme.