Пример #1
0
    static float GatilhoVal(string esseGatilho, int numControlador)
    {
        float       val = 0;
        Controlador c   = (Controlador)numControlador;

        switch (c)
        {
        case Controlador.N3DS:
            val = N3dsAxis.GetAxis(esseGatilho);
            break;

        case Controlador.Android:
            if (ControladorDeJoystick.cj != null)
            {
                val = ControladorDeJoystick.cj.GetInputVal(esseGatilho);
            }
            break;

        default:
            esseGatilho = "joy " + numControlador + " " + esseGatilho;
            val         = Input.GetAxisRaw(esseGatilho);
            break;
        }

        return(val);
    }
Пример #2
0
    public static Vector3 VetorDirecao(int numControlador)
    {
        float h = 0;
        float v = 0;

        if (numControlador == (int)Controlador.N3DS)
        {
            if (!PressionadoBotao(4, numControlador))
            {
                h = Mathf.Min(N3dsAxis.GetAxis("horizontal") + N3dsAxis.GetAxis("HDpad"), 1);
                v = Mathf.Min(N3dsAxis.GetAxis("vertical") + N3dsAxis.GetAxis("VDpad"), 1);
            }
            else
            {
                h = N3dsAxis.GetAxis("HDpad");
                v = N3dsAxis.GetAxis("VDpad");
            }
        }
        else
        {
            h = Mathf.Clamp(GetAxis("horizontal", numControlador), -1, 1);
            v = Mathf.Clamp(GetAxis("vertical", numControlador), -1, 1);
        }

        Vector3 forward = Vector3.ProjectOnPlane(Camera.main.transform.forward, Vector3.up);//new Vector3(1, 0, 0);

        /*
         * if (AplicadorDeCamera.cam != null)
         *  if (AplicadorDeCamera.cam.Cdir != null)
         *      forward = AplicadorDeCamera.cam.Cdir.DirecaoInduzida(h, v);*/

        forward.y = 0;
        forward   = forward.normalized;

        Vector3 right = new Vector3(forward.z, 0, -forward.x);

        //Debug.Log(forward + " : " + right + " :" + h + " : " + v);
        return(h * right + v * forward);
    }