Necesito saber cuando un personaje esta superpuesto con otro, para que si esto sucede uno de los dos desaparezca y cuando dejen de tocarse vuelva a aparecer.
Hola @Fausto_Piglia, ¿pudiste revisar la sección de colisiones del manual?
http://manual.pilas-engine.com.ar/colisiones
En tu caso posiblemente lo mejor sea cambiar la transparencia del actor en lugar de eliminarlo, sobre-todo si luego querés hacerlo visible de nuevo, algo así:
actor.transparencia = 100 # ocultar el actor.
actor.transparencia = 0 # hacer que el actor sea visible completamente.
Hola Hugo, me sirvio lo de la transparencia, pero el problema viene cuando quiero que deje de colicionar.
Todo esto es una funcion de un menú para el juego.
def cj():
menu.eliminar()
texto = pilas.actores.Texto("Muevete con las flechas del teclado", y = 100)
texto.color = pilas.colores.rojo
rectangulo = pilas.fisica.Rectangulo(0, 0, 450, 40, sensor=True, dinamica=False)
texto.figura_de_colision = rectangulo
class Ejemplo(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = "imagenes/baby.png"
self.escala = 0.25
self.radio_de_colision = 30
self.texto = None
def actualizar(self):
max_y = self.y+self.alto
main_y = self.y-self.alto
max_x = self.x+self.ancho
main_x = self.x-self.ancho
t_max_y = self.texto.y+self.texto.alto
t_main_y = self.texto.y-self.texto.alto
t_max_x = self.texto.x+self.texto.ancho
t_main_x = self.texto.x-self.texto.ancho
actor.transparencia = 100
actor.transparencia = 0
if pilas.control.izquierda:
self.x -= 7
if pilas.control.derecha:
self.x += 7
if pilas.control.arriba:
self.y += 7
if pilas.control.abajo:
self.y -= 7
if self.x > 300:
self.x = -300
if self.x < -300:
self.x = 300
if self.y > 300:
self.y = -300
if self.y < -300:
self.y = 300
pilas.actores.vincular(Ejemplo)
protagonista = pilas.actores.Ejemplo()
Necesitaría que lo que esta dentro del def actualizar(): indique cuando dejan de colicionar y cambie la transparencia.