chino96 Ответов: 1

Как я могу использовать данные открытого текста в поле ввода открытой строки?


У меня есть розыгрыш с данными из базы данных, я создаю две таблицы-одну для игроков и одну для победителей. Я хочу получить данные из публичного текста и использовать эти данные для хранения информации о победителе, используя публичное поле ввода строки.

Любое предложение, помощь или другой подход были бы очень хороши!

Заранее спасибо!

Что я уже пробовал:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class DataInserter : MonoBehaviour
{

    string CreateGanadoresURL = "http://localhost/trivia/ganadores.php";

    public Text factura;

    public string inputFactura;
    public string inputRuc;
    public string inputNombre;

    // Use this for initialization
    void Start ()
    {
        inputFactura = factura.Text;//this is the 19
    }
    
    // Update is called once per frame
    void Update ()
    {
        if (Input.GetKeyDown(KeyCode.Space)) CreateGanadores(inputFactura, inputRuc, inputNombre);
    }

    public void CreateGanadores(string factura, string ruc, string nombre)
    {
        WWWForm form = new WWWForm();
        form.AddField("facturaPost", factura);
        form.AddField("rucPost", ruc);
        form.AddField("nombrePost", nombre);

        WWW www = new WWW(CreateGanadoresURL, form);
    }
}

И ошибка в том, что:
Цитата:
Активов/Скрипты/DataInserter.КС(19,32): ошибка CS1061: тип `UnityEngine.Пользовательского интерфейса.Текст' не содержит определение для `текст', а не метод расширения `текст' от UnityEngine тип`.Пользовательского интерфейса.Текст может быть найден. Вам не хватает ссылки на сборку?

Graeme_Grant

inputfield = txtInput.Text;

Что я здесь упускаю?

Graeme_Grant

Ах, синтаксическая ошибка. Вы упустили ключевую информацию! Не публикуйте исключение здесь, вставьте его в вопрос, где другие могут его увидеть.

Пожалуйста, найдите время, чтобы прочитать правила раздела вопросы и ответы[^] чтобы лучше понять, как это работает. Затем, когда вы будете готовы, обновите вопрос с четкими и краткими деталями, образцом кода, любыми сообщениями об ошибках (включая внутренние детали исключения) и т. д., нажав на кнопку Улучшить вопрос виджет.

Исключение-ключ к вашей проблеме. Вернитесь к документации, чтобы увидеть, как вы получаете доступ к этой информации: Unity-Scripting API: WWWForm[^]

chino96

Извините, я до сих пор не знаю, что использовать с этой страницы, у меня уже есть скрипт, который перетаскивает победителя в текстовый файл(так что уже есть информация) или, может быть, я что-то пропустил?

Graeme_Grant

Я не использую unity. Я только указываю на пример кода того, как получить текст из документации Unity.

chino96

о, Хорошо, спасибо вам! Но могу ли я спросить, где я должен использовать inputfiel = txtInput?Текст;? в пустоты или в пустоте обновление?

Graeme_Grant

Читая документацию, вы отправляете данные на сервер и хотите прочитать ответ в виде текста?

Как и пример кода документации, это может помочь больше: c# - получение данных с сервера через unity-Stack Overflow[^]

1 Ответов

Рейтинг:
1

chino96

Я только что решил с помощью Grame_Grant! У меня был t insted of t в inputfield = txtInput. text

это окончательный сценарий:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class DataInserter : MonoBehaviour
{

    string CreateGanadoresURL = "http://localhost/trivia/ganadores.php";

    public Text factura;
    public Text ruc;
    public Text nombre;

    public string inputFactura;
    public string inputRuc;
    public string inputNombre;
    // Use this for initialization
    void Start ()
    {
        
    }
	
	// Update is called once per frame
	void Update ()
    {
        inputFactura = factura.text;
        if (Input.GetKeyDown(KeyCode.Space)) CreateGanadores(inputFactura, inputRuc, inputNombre);
        
    }

    public void CreateGanadores(string factura, string ruc, string nombre)
    {
        WWWForm form = new WWWForm();
        form.AddField("facturaPost", factura);
        form.AddField("rucPost", ruc);
        form.AddField("nombrePost", nombre);

        WWW www = new WWW(CreateGanadoresURL, form);
    }
}


Grame_Grant большое вам спасибо!