Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        if (target.transform.position.x < transform.position.x && direction == true)
        {
            transform.localRotation *= Quaternion.Euler(0, 180, 0);
            direction = false;
        }

        if (target.transform.position.x > transform.position.x && direction == false)
        {
            transform.localRotation *= Quaternion.Euler(0, 180, 0);
            direction = true;
        }


        if ((System.Math.Round(target.transform.position.y, 0) == System.Math.Round(transform.position.y, 0)) && Vector3.Distance(transform.position, target.transform.position) < 0.5)
        {
            actions.Aiming();
            shotCount++;
            DaShootMove script = bala.GetComponent <DaShootMove>();
            script.shotBy = gameObject;


            if (target.transform.position.x > transform.position.x)
            {
                //Ataque hacia la derecha
                script.direction = true;
            }
            if (target.transform.position.x < transform.position.x)
            {
                //Ataque hacia la izquierda
                script.direction = false;
            }
            if (shotCount == 40)
            {
                if (!direction)
                {
                    if (Time.timeScale != 0)
                    {
                        //Creamos una instancia del prefab en nuestra escena, concretamente en la posición de nuestro personaje
                        Instantiate(bala, new Vector3(weapon.transform.position.x - 0.05f, weapon.transform.position.y, -2.13f), Quaternion.identity);
                    }
                }
                else
                {
                    if (Time.timeScale != 0)
                    {
                        //Creamos una instancia del prefab en nuestra escena, concretamente en la posición de nuestro personaje
                        Instantiate(bala, new Vector3(weapon.transform.position.x + 0.05f, weapon.transform.position.y, -2.13f), Quaternion.identity);
                    }
                }
                shotCount = 0;
            }

            //Creamos una instancia del prefab en nuestra escena, concretamente en la posición de nuestro personaje
        }
    }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        bool isPaused = paused.GetComponent <GameStats>().paused;

        Vector3 screenPos = cam.WorldToScreenPoint(transform.position);

        if (!isPaused)
        {
            if (bala != null && (Input.GetMouseButtonDown(0) || Input.GetAxis("Disp") == 1))
            {
                if (shoot == false)
                {
                    actions.Aiming();
                    DaShootMove script  = bala.GetComponent <DaShootMove>();
                    DaMove      script2 = shotBy.GetComponent <DaMove>();
                    script.shotBy = shotBy;



                    script.direction = !script2.direction;
                    var rotation = Quaternion.identity;

                    if (!script2.direction)
                    {
                        //Creamos una instancia del prefab en nuestra escena, concretamente en la posición de nuestro personaje
                        rotation *= Quaternion.Euler(0, 180, 0);
                        Instantiate(bala, new Vector3(transform.position.x + 0.05f, transform.position.y, transform.position.z), rotation);
                    }
                    else
                    {
                        //Creamos una instancia del prefab en nuestra escena, concretamente en la posición de nuestro personaje
                        Instantiate(bala, new Vector3(transform.position.x - 0.05f, transform.position.y, transform.position.z), rotation);
                    }
                    shoot = true;
                    audio.PlayOneShot(fire);
                }
            }
            if (Input.GetAxis("Disp") != 1)
            {
                shoot = false;
            }
        }
    }