Español Valencià
Instrucciones
🌹

Instrucciones

FASE 2 - SCRIPT PARA RECUPERAR FLORES⏰ 10' approx

👉
Esta página contiene las instrucciones específicas de la Segunda Fase de la quinta sesión para desarrollar el juego del Puente de las Flores.

El siguiente paso para nuestro juego será crear el script LadronInteraction, que añadiremos a los prefabs de los ladrones para que vuelvan al estado de peatón normal cuando el policía se acerca a ellos.

Nos vamos a la carpeta de Scripts y creamos un nuevo script (Click derecho > Create > C# Script), y lo llamamos “LadronInteraction”. El código es el siguiente:

using UnityEngine;

public class LadronInteraction : MonoBehaviour 
{
    private GameObject jugador; // Referencia al jugador
    public GameObject prefabPeaton; //Prefab del peatón (antes y después de ser ladrón)
    private Vector3 destino; //Destino del peatón
    
    // Llamamos al metodo RecuperarFlor cuando el jugador entra en el trigger
    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player")) 
        {
            RecuperarFlor();
        }
    }
    
    //Eliminamos el prefab del ladron y lo reemplazamos por el peaton
    //Recuperamos el destino del ladrón para asignarlo al peatón
    private void RecuperarFlor()
    {
        MoverPeaton moverLadron = transform.GetComponent<MoverPeaton>();
        if (moverLadron != null)
        {
            destino = moverLadron.GetDestination();
        }
        Destroy(gameObject); 
        GameObject nuevoPeaton = Instantiate(prefabPeaton, transform.position, transform.rotation);
        MoverPeaton moverPeaton = nuevoPeaton.GetComponent<MoverPeaton>();
        
        if (moverPeaton != null)
        {
            moverPeaton.SetDestination(destino);
        }
    }
}

El método OnTriggerEnter se ejecuta cuando un objeto entra dentro del Trigger, en este caso, comprobamos que este objeto tiene el tag Player.

Dentro de este método, llamamos a la función RecuperarFlor, que sustituye el prefab del ladrón por el del peatón. Volvemos a Unity, y en primer lugar, le ponemos el tag Player a nuestro Controlador.

image

Acto seguido, vamos a la carpeta de nuestros personajes PolygonCity > Prefabs > Characters, y vamos a añadir este script a los prefabs de los ladrones.

Seleccionamos uno, y en el inspector, Add Component y buscamos Ladron Interaction, o bien lo arrastramos.

Por último, en el componente Ladron Interaction del inspector, asignamos el prefab del personaje sin la maceta y el indicador en el campo Prefab Peatón.

image

Pulsamos al Play y comprobamos el funcionamiento de nuestro juego.