Unity Spain
Post Antiguos => General (Antiguo) => Mensaje iniciado por: juank en Abril 04, 2017, 03:41:10 PM
Buenas tardes,
Tengo un problema al sincronizar la caja de cambios de thrustmaster (https://www.discoazul.com/uploads/media/images/TH8RFO-01.jpg) con unity, lo que pasa es que al momento de reiniciar una escena, unity no reconoce la posición en el que se encuentra la caja de cambios, siempre lo toma como si no estuviera en un cambio. El código que utilizo para acceder al input de un cambio es el siguiente:
void Update()
{
//Para el cambio en posición 1
bool cambio_1 = CrossPlatformInputManager.GetButton("cambio_1");
Debug.Log("El cambio 1 esta en: "+cambio_1);
}
[/quote]
El código que utilizo para reiniciar una escena es:
Application.LoadLevel(Application.loadedLevel);
[/quote]
En embargo Unity sí reconoce la posición de la caja de cambios sólo cuando ejecuto el proyecto unity y cuando durante la ejecución realizo el cambio, pero al reiniciar no toma la posición en el que se deje el cambio.
Hola, la verdad no conozco ese aparato, pero segun lo que veo ahi "cambio_1" es una bool, entonces como haces para imprimir el cambio en el que está? Osea, la bool esa se activa cuando supongo aumentas de cambio (de nuevo, no conozco bien la funcionalidad del aparato), tu trabajo es guardar en algun lado dicha accion como algun valor en una variable por ejemplo.
Primero pense que era una caja completa, pero si solo podes subir y bajar, una vez la escena se reinicio todo vuelve a sus valores por defecto. Si queres que el auto o gameObject que guarda tus cambios siga inmutable aun cambiando de escenas usa DontDestroyOnLoad():
https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html (https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html)
Otra cosa, Aplicaction.LoadLevel ya no se usa mas:
https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html (https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html)