示例#1
0
    void FixedUpdate()
    {
        if (arma == null)
        {
            return;
        }

        if (tiempo <= delay)
        {
            tiempo += Time.deltaTime;
        }
        else
        {
            posObjetivo          = RandomPos();
            imagen.localPosition = new Vector3(posObjetivo.x, 0.665f, posObjetivo.y);
            tiempo = 0;
            contador++;
            SoundMananger.Reproducir("sonidoMartillo");
            if (contador >= cantidadDeGolpes)
            {
                FinDelJuego();
                return;
            }
        }
        Vector3 mPos = Input.mousePosition;

        var        ray = cam.ScreenPointToRay(mPos);
        RaycastHit info;

        if (Physics.Raycast(ray, out info))
        {
            Vector3 pos = info.point - transform.position;
            pos.y = 0.675f;
            martillo.localPosition = pos;
        }
        if (Input.GetMouseButtonDown(0))         // Click
        {
            float distance = Vector3.Distance(martillo.localPosition, imagen.transform.localPosition);
            if (distance < 0.15f)
            {
                tiempo = delay;
                arma.Martillado(distance * factorMultiplicador);
                slider.value = arma.martillado;
            }
        }
    }