Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Temas recientes

crear script que sume dos valores decimales ingresados

Iniciado por Marianito, Mayo 29, 2019, 07:49:34 PM

Tema anterior - Siguiente tema
Hola. Estoy intentando que al ingresar dos o más valores por el usuario, dichos valores se operen (por ejemplo suma) y muestren un resultado (Sé que cada número se cargará en un input field del canvas). Busqué tutoriales en internet pero los que ví sólo muestran cómo programar el código en c++, no como integrarlo luego a un canvas en Unity. ¿Alguien tendrá algún link a un tuto que explique como hacerlo? Muchas gracias! saludos

Mayo 29, 2019, 10:18:35 PM #1 Ultima modificación: Mayo 29, 2019, 10:20:22 PM por Arcontus
Hola Marianito,
 
Lo que intentas hacer es muy sencillo te explico:
 
En primer lugar, un Canvas es solo el receptaculo donde pondrás objetos  "Text", que no son más que Objetos "Empty" pero con una serie de componentes adicionales que te permiten añadir textos en pantalla.
 
 
 
1 Por un lado necesitarás crear un script en C# (no hay otra manera de hacerlo), y este código lo que hará es buscar el valor (string) que ha de pintar en pantalla. Desde este script, has de conseguir la referencia al componente de texto de la siguiente manera:

 
 

  void Awake()
    {
   //Obtener referencia del componente.
   private Text text = gameObject.GetComponent<Text>();
   //Ponemos 123456 en el Texto del Canvas.
   text.text = "123456";
   ...
    }

 
 
 
2 Seguramente habrás de leerlo de otro script donde recoges los valores y los operas. También lo has de hacer en C#, y hay varias maneras de hacerlo. Lo mejor es que mires un tutorial de principiante, pero no es dificil.
 
 
 
Un saludo!

Mayo 30, 2019, 01:24:02 PM #2 Ultima modificación: Junio 03, 2019, 04:41:38 PM por pioj
Muchas gracias. Ya estoy puesto manos a la obra con eso!
 
Ahora tengo el script no sé si voy encaminado:
 
 

{
    public Text variable1_text;
    public Text variable2_text;
    public Text resultado_text;
    private float variable1 = 0;
    private float variable2 = 0;
    private float resultado = 0;
    // Start is called before the first frame update
    void Start()
    {
        variable1 = float.Parse(variable1_text.text.ToString());
        variable2 = float.Parse(variable2_text.text.ToString());
        resultado = variable1 + variable2;
        resultado_text.text = resultado.ToString();
    }
    // Update is called once per frame
    void Update()
    {
        
    }
    
}

 
 

Etiquetas: