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.
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]