Detalles de vida

hola estoy haciendo un pequeño juego de plataformas pero esta en desarrollo quiero que cuando tocamos al enemigo baje la barra del corazon(tengo animaciones que hacen eso) y que si la vida esta en cero este muere a otra cosa tambien que si la vida esta llena y tocamos al enemigo que haga la animacion auch
https://app.pilas-engine.com.ar/#/proyecto/71167058-73ba-440f-a1d3-3835836a864e
Abrir este proyecto en el editor de pilas

El problema está en que no le estás diciendo al corazón que el jugador tocó al enemigo.
La idea sería:

  • Lo primero es crear una variable “Vida” en el jugador, a medida q se haga daño, la variable le iremos restando hasta que, cuando sea cero, se ejecute el this.eliminar() para el jugador.

  • Luego, cuando el juegador choca con el enemigo, entonces le mande un mensaje al corazón para que cambie la imagen (puedes hacerlo creando una animación para cada imagen que quieres mostrar).

Todo eso lo haces desde la función cuando_comienza_una_colisión en el actor Bicky:

cuando_comienza_una_colision(actor: Actor) {
.
.
.
    if (actor.tiene_etiqueta("enemigo")) {
      //aquí pondrías lo de enviarle el mensaje al corazón, restarle un valor a la variable vida y 
     //verificar si la vida está en cero o no.
     if (this.vida < 0) {
        this.pilas.clonar_en("Bickly_defeat", this.x, this.y);
        this.eliminar();

      }
      else {
        //mandar mensaje al corazón, restar el daño que le hagan, etc.
      }

    }

}

Podrías poner la misma variable de vida en el corazón y hacer coincidir cada valor con una imagen.
Espero te haya ayudado.

gracias lukeitor es que es un proyecto que esperan mis amigos y no sabia nada de eso gracias de verdad

una pregunta como creo una variable y como hago las animaciones en el corazon disculpe es que soy nuevo

No hay problema, todos empezamos así.
Las variables permiten guardar información. También es posible editar esa información en plena ejecución del programa. Cada lenguaje tiene su propia manera de crear variables.
En Pilas lo hacemos desde el código del actor antes de la función iniciar, pero debajo del primer renglon que dice Class (técnicamente no son variables, pero eso no importa ahora).
Te comparto un ejemplo de código donde cree una variable vida que comienza valiendo 120, luego en iniciar le sume 10. Por último, en actualizar hice un contador que va de 120 a 0 todo el rato.

class actor extends Actor {
  //creamos la variable vida
  vida = 120;

  iniciar() {
    this.vida += 10;
  }

  actualizar() {
    if(this.vida >= 0) {
      this.vida -= 1;
    }
    else {
      this.vida = 120;
    }

    //La siguiente línea te muestra en la pantalla cuanto vale la variable en cada momento.
    this.pilas.observar("vida", this.vida);
  }
}

disculpe prdria modificar el juego es que no se q mismo hacer

Ta bueno el juego. Igual lo de la vida siempre fue dificil asi q no te preocupes