Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: MatiasMartin en Agosto 10, 2015, 03:45:13 AM

Título: Ayuda. Convertir Input.GetAxis("Vertical"), para que funcione con botones android.
Publicado por: MatiasMartin en Agosto 10, 2015, 03:45:13 AM
 Hola, antes que nadas saludos para todos y decir que esta muy buena la comunidad. Aprendí mucho por estos lados y hoy les traigo una pregunta que me esta volviendo loco.

Estoy haciendo un juego de autos y ya logre el movimiento bastante preciso con WheelCollider y demas. El problema es que en el script para hacer andar el motorTorque, se multiplica por "Input.GetAxis("Vertical"), en el caso de acelerar. Como el juego que estoy haciendo es para Android, necesito colocar un botón en pantalla para acelerar, para rotar, etc. 

Trate de hacerlo de varias formas, entre ellas con GUITexture, o directamente con código en un GameObject que hacia de botón "OnMouseDrag();". La idea seria que al apretar el botón cambie una variable en el código del auto de false a true para ejecutar el motorTorque. Con ambos métodos, a través de una variable static o a través de "GameObject.Find" logre encontrar el objeto y modificar la variable, el motorTorque empieza a andar pero nunca para. 

Estoy frustrado y supongo que esa no es la forma de hacerlo. Supongo que el truco esta en cambiar el "Input.Axis("Vertical")" por algún Input touch o algo así, pero no doy con nada. Agradeceria su ayuda desde ya. Dejo la parte del código. 
La idea es cambiar el "Input.Axis("Vertical")" de este pedazo de código por algo que me lea el botón en la pantalla de Android. El código anda así como esta, así que no tiene ningún problema en realidad mas que necesito los botones en el dispositivo.     void FixedUpdate () {        // Codigo para acelerar
        if (Mathf.Abs (velocidad) < velocidadMaxima) {
            frenteDerecha.motorTorque = aceleracion * Input.GetAxis("Vertical");
            frenteIzquierda.motorTorque = aceleracion * Input.GetAxis("Vertical");
        }else{
            frenteDerecha.motorTorque = 0;
            frenteIzquierda.motorTorque = 0;
        
        }[/quote] 
Título: Ayuda. Convertir Input.GetAxis("Vertical"), para que funcione con botones android.
Publicado por: iRobb en Agosto 10, 2015, 06:57:18 PM
En los propios assets de Unity hay uno que se llama CrossPlatformInput donde se explica como crearlo a la vez para mobile y para standalone, así como objetos de pantalla para el movimiento.
Título: Ayuda. Convertir Input.GetAxis("Vertical"), para que funcione con botones android.
Publicado por: MatiasMartin en Agosto 10, 2015, 06:58:08 PM
Gracias iRobb, lo voy a chequear.