Unity使用带有输入字段的脚本

时间:2018-08-01 19:37:13

标签: c# php mysql unity3d

我有一个PHP脚本和一个.cs脚本,它基本上是一个登录名/用户。但我想将其与应用程序中的字段一起使用,而不是与代码一起定制。

这是我在说什么的图片

Image link

这是我的.cs代码

  if (register)
        {
            GUILayout.Label("Username");
            user = GUILayout.TextField(user);
            GUILayout.Label("Name");
            name = GUILayout.TextField(name);
            GUILayout.Label("password");
            password = GUILayout.PasswordField(password, "*"[0]);
            GUILayout.Label("Re-password");
            rePass = GUILayout.PasswordField(rePass, "*"[0]);

            GUILayout.BeginHorizontal();

            if (GUILayout.Button("Back"))
                register = false;

            if (GUILayout.Button("Register"))
            {
                message = "";

                if (user == "" || name == "" || password == "")
                    message += "Please enter all the fields \n";
                else
                {
                    if (password == rePass)
                    {
                        WWWForm form = new WWWForm();
                        form.AddField("user", user);
                        form.AddField("name", name);
                        form.AddField("password", password);
                        WWW w = new WWW("http://dri********.com/register.php", form);
                        StartCoroutine(registerFunc(w));
                    }
                    else
                        message += "Your Password does not match \n";
                }
            }

            GUILayout.EndHorizontal();
        }

所以现在它显示新框,但我希望它使用设计中的当前输入字段

1 个答案:

答案 0 :(得分:1)

代码中的GUILayout在运行时创建这些字段,您将需要摆脱它们。

可能是在新类中,附加到检查器中的游戏对象:

//Add a namespace 
using UnityEngine.UI;
// few public fields that represent the ui textboxes e.g
public Text name;
// user will now be
string user = name.text;

您现在可以将这些变量作为参数传递给您的寄存器类,或者将它们全部放在同一类中。您的选择。