Что я могу сделать с моим кодом C #, чтобы применить его к своему пользовательскому интерфейсу в Unity? - PullRequest
0 голосов
/ 28 апреля 2019

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

вот код, который я использовал для ввода данных в мою базу данных PhpMyAdmin через инспектора в Unity:

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

public class DataInserter : MonoBehaviour
{

    public GameObject inputUserName;
    public GameObject inputEmail;

    string CreateUserURL = "http://localhost/balikaral/insertAccount.php";

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
       if (Input.GetKeyDown(KeyCode.Space)) CreateUser(inputUserName, inputEmail);
    }

    public void CreateUser(string username, string email)
    {
        WWWForm form = new WWWForm();
        form.AddField("usernamePost", username);
        form.AddField("emailPost", email);

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

Ответы [ 2 ]

1 голос
/ 28 апреля 2019

Вам просто нужно получить данные из ваших полей ввода InputField.text

Я рекомендую напрямую использовать InputField поля, чтобы вам не нужны вызовы GetComponent.

public class DataInserter : MonoBehaviour
{
    public InputField inputUserName;
    public InputField inputEmail;

    string CreateUserURL = "http://localhost/balikaral/insertAccount.php";

    public void CreateUser()
    {
        var userName = inputUserName.text;
        var email = inputEmail.text;

        WWWForm form = new WWWForm();
        form.AddField("usernamePost", username);
        form.AddField("emailPost", email);

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

И ссылка на метод CreateUser в событии onClick Button.


Обратите внимание, что WWW устарел, и вам лучше использовать UnityWebRequest.Post

public void CreateUser()
{
    var userName = inputUserName.text;
    var email = inputEmail.text;
    StartCoroutine(CreateUserRequest(userName, email));
}

private IEnumerator CreateUserRequest(string userName, string email)
{
    WWWForm form = new WWWForm();
    form.AddField("usernamePost", username);
    form.AddField("emailPost", email);

    using (UnityWebRequest www = UnityWebRequest.Post(CreateUserURL, form))
    {
        yield return www.SendWebRequest();

        if (www.isNetworkError || www.isHttpError)
        {
            Debug.Log(www.error);
        }
        else
        {
            Debug.Log("Form upload complete!");
        }
    }
}
0 голосов
/ 28 апреля 2019

Вы не должны делать это через PhpMyAdmin, это инструмент mysql для управления mysql, я предполагаю, что вы хотите создать учетную запись игрока для своей игры.Есть два способа сделать то, что вы хотите: 1. создать сайт webApi, который принимает сообщение Http (рекомендуем), webapi будет подключаться к вашей базе данных mysql и выполнять CRUD (создание, чтение, обновление, удаление)
2. создайте соединение mysql непосредственно с вашей базой данных mysql и вставьте свои данные в таблицу mysql.(небезопасно)

Приблизительно, вам нужно знать о языке SQL.

...