Unity Spain
Post Antiguos => General (Antiguo) => Mensaje iniciado 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.
El interfaz GUI y UI, tienen controles específicos para que un jugador pueda escribir un texto y almacenarlo en un string.
¡Gracias por responder! ¿Me podrías decir como se hace, por favor?
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.
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...
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.
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
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!