示例#1
0
    // Update is called once per frame

    void Update()
    {
        mov = GetComponent <MovimientoEnemigo>();
        muerte();
        actualizarestado();
        Debug.Log("Vidas del Enemigo:" + vida);
        Vector3 PosEne    = transform.position;
        Vector3 PosPlayer = GameObject.Find("CharacterRobotBoy").GetComponent <Transform>().position;
        float   distancia = Vector3.Distance(PosEne, PosPlayer);

        RaycastHit2D detect = Physics2D.Raycast(transform.position, transform.right * (lado), 0, 4, raycastdetect); //aki tiro el rallo (pa lante)"depende de lado"

        Debug.DrawRay(transform.position, transform.right * (lado) * 0.6f, Color.blue, 0);                          // dibujame el rallo
        Debug.Log(detect.collider.tag);
        //_____________________________________________________________
        if ((distancia >= MinDist) && (distancia <= MaxDist))
        {
            mov.Persigue = true; //
            if (tipoestado == estado.derecha)
            {
                Vector3 objetivo = player.gameObject.transform.position;
                transform.position += new Vector3(+1f, 0f, 0f) * VelMov * Time.deltaTime;
                this.gameObject.GetComponent <SpriteRenderer>().flipX = false;
                if (detect.collider.tag == "Player")
                {
                    Debug.Log("COL enemy detect derecha");
                    //TODO EJECUTA ANIMACION
                    player.GetComponent <PlayerData>().vidas -= danoenemigo;
                    this.GetComponent <AudioSource>().Play();
                    StartCoroutine(ContadorGolpeado()); // tiempo de espera del golpeo
                }
            }
            if (tipoestado == estado.izquierda)
            {
                Vector3 objetivo = player.gameObject.transform.position;
                transform.position += new Vector3(-1f, 0f, 0f) * VelMov * Time.deltaTime;
                this.gameObject.GetComponent <SpriteRenderer>().flipX = true;
                if (detect.collider.tag == "Player")
                {
                    Debug.Log("COL enemy detect izquierda");
                    //TODO EJECUTA ANIMACION
                    player.GetComponent <PlayerData>().vidas -= danoenemigo;
                    this.GetComponent <AudioSource>().Play();
                    StartCoroutine(ContadorGolpeado()); // tiempo de espera del golpeo
                }
            }
        }
        else //
        {
            mov.Persigue = false; //
        }
    }
示例#2
0
 private void Start()
 {
     movEnemigo  = GetComponentInParent <MovimientoEnemigo>();
     tipoEnemigo = GetComponentInParent <TipoEnemigo>();
 }