Cambiar de mapa

buenas,

estoy en un trabajo para el colegio y yo intento hacer que cuando mi personaje colisione con un rectangulo invisible el mapa/fondo (tiled, tmx) se cambie por otro.
Aqui un fragmento del codigo:

Buenas, @MateSape !

A mi parecer seria mejor usar un actor “invisible” que una figura física como punto de colisión. Esto te va a evitar futuros problemas.

El segundo tema es el de las etiquetas, que tu has usado para la colisión. Las etiquetas harían referencia al actor general, en el caso que te pongo a continuación, por ejemplo, las etiquetas serian
pilas.colisiones.agregar(“Mono”, “Aceituna”, entrar_casa).
Pero al no usar etiquetas se hace referencia al nombre de la variable del actor. En el caso del ejemplo, esto es
pilas.colisiones.agregar(miactor, puerta, entrar_casa).

En el primer caso (etiquetas) los nombres van entre comillas. En el segundo (sin etiquetas) van sin comillas.

Te sugiero que revises el manual de pilas sobre el uso de etiquetas, para saber cuando usarlas y cuando no.

import pilasengine
pilas=pilasengine.iniciar()

miactor = pilas.actores.Mono()
miactor.x=-200
miactor.aprender('arrastrable')

fondo = pilas.fondos.Tarde()
puerta = pilas.actores.Aceituna()
puerta.transparencia = [0,100],3

def entrar_casa(miactor,puerta):
	global fondo
	fondo = pilas.fondos.Volley()
	
pilas.colisiones.agregar(miactor, puerta, entrar_casa)	

pilas.ejecutar()

Como ves, se puede crear un actor con 100 de transparencia, lo que lo hace “invisible”.

Tambien te podria venir bien el plantearte crear escenas, una para cada lugar de tu juego. Por ejemplo yo crearia una

EscenaMapa(pilasengine.escenas.Escena():
con su fondo y sus actores, y otra escena para la casa

EscenaCasa(pilasengine.escenas.Escena():
con su fondo y sus actores.

Para eso te convendria revisar el ejemplo “juego con escenas” de los ejemplos de Pilas.

Espero haberte ayudado, y si algo no te quedó claro no dudes en volver a preguntar.

Un abrazo. :smile:

PD: Es mejor que pongas el código directamente copiado y pegado, más que una foto. Recuerda que el código debe ir precedido de 3

`
(esa pequeña tilde) y 3 al final. Si no la tienes en tu teclado puedes copiarla y pegarla.