Error de puerta

hola la verdad no se que pasa quiero que cuando el conejo toque la puerta la puerta detecte por el objeto puntaje cuantas monedas cojimos si son dos nos deja cambiar el nivel pero si no es haci no cabia y nos dice que nos faltan(cantidad) monedas ayuda
por si acaso la puerta esta al final del nivel
https://app.pilas-engine.com.ar/#/proyecto/a437cf12-dd39-41c3-99f9-c93b49ec6d2e
Abrir este proyecto en el editor de pilas

Hola @Xavier_Perez, estuve revisando el código y encontré algunos detalles para resolver.

Por un lado, para que la puerta pueda servirte para pasar de nivel, es importante que le definas una figura física así:

Sin esa figura, pilas no va a buscar colisiones ni llamar a la función “cuando_comienza_una_colisión”.

Con ese cambio ya vas a notar que la puerta reacciona a la colisión con el protagonista correctamente. El único tema es que la validación de cantidad de monedas recogidas también hay que ajustarla.

La lógica en sí está bien, como escribiste en el código, cuando se produce la colisión se tienen que ver cuántos puntos hizo el jugador y validar que tenga 2 monedas. Aquí lo único que cambiaría es la forma de acceder al puntaje y permitir que pueda recoger más de dos monedas; con esos cambios, el código debería quedarte de esta forma:

  cuando_comienza_una_colision(actor: Actor) {

    if (actor.etiqueta == "jugador") {
      var puntaje:any = this.pilas.obtener_actor_por_nombre("puntaje");
      
      if (puntaje.puntaje >= 2) {
        this.pilas.cambiar_escena("nivel2");
      } else {
        this.decir("Te faltan " + (2 - puntaje.puntaje) + " monedas");
      }

    }
  }

Te paso la versión del juego modificada, avisame cualquier cosa!!!

Abrir este proyecto en el editor de pilas

1 Like