Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: WCR en Enero 31, 2017, 08:26:01 PM

Título: Error con scanf
Publicado por: WCR en Enero 31, 2017, 08:26:01 PM
¡Hola! Necesito que en un determinado momento del juego el jugador escriba una cadena, la cual se almacene en un string. El problema es que scanf me acaba dando error, de modo que no se qué hacer (también he probado con gets).
 
Muchas gracias de antemano.
Título: Error con scanf
Publicado por: Miguel_Angel en Enero 31, 2017, 10:14:59 PM
El interfaz GUI y UI, tienen controles específicos para que un jugador pueda escribir un texto y almacenarlo en un string.
Título: Error con scanf
Publicado por: WCR en Enero 31, 2017, 10:26:33 PM
¡Gracias por responder! ¿Me podrías decir como se hace, por favor?
Título: Error con scanf
Publicado por: Alejandro Navarro en Enero 31, 2017, 11:05:49 PM
Hola WCR.

En el manual de Unity vienen los métodos que te sugiere Miguel_Angel. ¿Lo has probado así?:
https://docs.unity3d.com/ScriptReference/Input-inputString.html (https://docs.unity3d.com/ScriptReference/Input-inputString.html)
 
Nos cuentas tus avances. Un saludo.
Título: Error con scanf
Publicado por: pioj en Enero 31, 2017, 11:49:14 PM
Lo mejor que podéis hacer antes de nada al empezar con Unity, es aprender a usar el programa, sus menús, ventanas y elementos, y mirarse un poquitín los videos y tutoriales de la web oficial de Unity3D (http://www.unity3d.com).
 
Es muy importante que los primeros pasos los hagáis por vuestra cuenta, antes que preguntar nada, para que ganéis confianza en vosotros mismos...
Título: Error con scanf
Publicado por: WCR en Febrero 01, 2017, 12:12:05 AM
Cita de: pioj date=1485902954

      
         Lo mejor que podéis hacer antes de nada al empezar con Unity, es aprender a usar el programa, sus menús, ventanas y elementos, y mirarse un poquitín los videos y tutoriales de la web oficial de Unity3D (http://www.unity3d.com/).
      
      
         Es muy importante que los primeros pasos los hagáis por vuestra cuenta, antes que preguntar nada, para que ganéis confianza en vosotros mismos...
      
   


Tienes toda la razón. Acabo de empezar y ando un poco perdido, ¡gracias por los enlaces!
 
 
 
Cita de: Alejandro Navarro date=1485900349Hola WCR.

      En el manual de Unity vienen los métodos que te sugiere Miguel_Angel. ¿Lo has probado así?:
https://docs.unity3d.com/ScriptReference/Input-inputString.html (https://docs.unity3d.com/ScriptReference/Input-inputString.html)
   
   
      Nos cuentas tus avances. Un saludo.
   


No sabía nada de que funcionase así (estoy acostumbrado al clásico scanf y gets), muchas gracias.
Título: Error con scanf
Publicado por: lightbug en Febrero 01, 2017, 02:52:03 AM
Cita de: WCR date=1485904325No sabía nada de que funcionase así (estoy acostumbrado al clásico scanf y gets), muchas gracias.
   


A mi me paso lo mismo a lo primero, venia haciendo juegos con la consola de C (scanf, printf, goto , etc) que cuando me meti en Unity no entendia nada. En resumen, los componentes tienen "la funcionalidad real" de la escena, son los que estan ligados al Render, Geometria, Materiales, Posicion, Tus propios Scripts , etc ,etc . Por eso Unity es un "Component-based Engine". En la practica vos programando lo que vas a hacer es referenciar a uno o a otro en determinado momento de lo que se llama GameLoop, por eso esta pagina para mi fue/es/sera el ABC para arrancar con el motor:
 
https://docs.unity3d.com/Manual/ExecutionOrder.html (https://docs.unity3d.com/Manual/ExecutionOrder.html)
 
Si queres que la cadena la tome en tiempo real basta con utilizar la clase Input de unity que tiene la funcionalidad de tomar entradas de cualquier tipo. Necesitarias que te devuelva el keycode (codigo de tecla) e ir almacenandolo.
 
Si queres que las tome tipo planilla de datos pones usar un TextField programado por vos o algun element UI que tenga la misma funcionalidad.
 
https://docs.unity3d.com/ScriptReference/GUI.TextField.html (https://docs.unity3d.com/ScriptReference/GUI.TextField.html)
 
Saludos
Título: Error con scanf
Publicado por: WCR en Febrero 01, 2017, 07:36:19 PM
Cita de: lightbug date=1485913923A mi me paso lo mismo a lo primero, venia haciendo juegos con la consola de C (scanf, printf, goto , etc) que cuando me meti en Unity no entendia nada. En resumen, los componentes tienen "la funcionalidad real" de la escena, son los que estan ligados al Render, Geometria, Materiales, Posicion, Tus propios Scripts , etc ,etc . Por eso Unity es un "Component-based Engine". En la practica vos programando lo que vas a hacer es referenciar a uno o a otro en determinado momento de lo que se llama GameLoop, por eso esta pagina para mi fue/es/sera el ABC para arrancar con el motor:
   
   
      https://docs.unity3d.com/Manual/ExecutionOrder.html (https://docs.unity3d.com/Manual/ExecutionOrder.html)
   
   
      Si queres que la cadena la tome en tiempo real basta con utilizar la clase Input de unity que tiene la funcionalidad de tomar entradas de cualquier tipo. Necesitarias que te devuelva el keycode (codigo de tecla) e ir almacenandolo.
   
   
      Si queres que las tome tipo planilla de datos pones usar un TextField programado por vos o algun element UI que tenga la misma funcionalidad.
   
   
      https://docs.unity3d.com/ScriptReference/GUI.TextField.html (https://docs.unity3d.com/ScriptReference/GUI.TextField.html)
   
   
      Saludos
   


Imagino que en unos meses, después de hacer todos los tutoriales y leer lo que me habéis pasado ya no estaré tan perdido, de momento voy a adaptarme a la interfaz de Unity y a coger soltura con él. ¡Muchas gracias!