测试版用unity做登录注册模块

下面我教你 最实用、最常用、最容易实现 的 Unity 登录模块做法。

你可以直接照着写,马上能做出一个真正能登录的界面。


Unity 登录模块整体结构

典型 Unity 登录流程包含:

  1. 登录 UI(用户名 + 密码 + 按钮)

  2. 点击登录 → 调用后端接口(或本地验证)

  3. 登录成功 → 加载游戏主场景

  4. 登录失败 → 在界面显示错误提示


🧩 一、创建登录 UI

在 Unity 中新建一个 Canvas,然后放:

  • InputField(或 TMP_InputField) 2 个

    • UsernameInput

    • PasswordInput

  • Button

    • LoginButton
  • Text(提示用)

层级参考:

复制代码
Canvas
 └── Panel
      ├── UsernameInput
      ├── PasswordInput
      ├── LoginButton
      └── MessageText

🧩 二、登录逻辑脚本 LoginUI.cs

你可以创建一个脚本挂在 Panel 上:

复制代码
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class LoginUI : MonoBehaviour
{
    public InputField usernameInput;
    public InputField passwordInput;
    public Text messageText;

    void Start()
    {
        messageText.text = "";  // 清空提示
    }

    public void OnLoginClick()
    {
        string username = usernameInput.text;
        string password = passwordInput.text;

        if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
        {
            messageText.text = "用户名或密码不能为空";
            return;
        }

        if (CheckLogin(username, password))
        {
            messageText.text = "登录成功!";
            SceneManager.LoadScene("MainScene");  // 切换到游戏场景
        }
        else
        {
            messageText.text = "用户名或密码错误";
        }
    }

    // 模拟登录验证(你可换成真实服务器接口)
    private bool CheckLogin(string username, string password)
    {
        return username == "admin" && password == "123456";
    }
}

挂到 Panel,然后把 InputField / Text 拖到 Inspector。


🧩 三、按钮绑定

选中 LoginButton → Button 组件 → OnClick

拖 Panel 到对象框

选择 LoginUI → OnLoginClick()


🧩 四、真实项目中怎么做?

你可以改成调用服务器 API,例如 POST 到:

复制代码
http://yourserver.com/login

使用 UnityWebRequest:

复制代码
using UnityEngine.Networking;
using System.Collections;

IEnumerator LoginRequest(string username, string password)
{
    WWWForm form = new WWWForm();
    form.AddField("username", username);
    form.AddField("password", password);

    UnityWebRequest req = UnityWebRequest.Post("http://yourserver.com/login", form);
    yield return req.SendWebRequest();

    if (req.result == UnityWebRequest.Result.Success)
    {
        if (req.downloadHandler.text == "ok")
        {
            SceneManager.LoadScene("MainScene");
        }
        else
        {
            messageText.text = "登录失败!";
        }
    }
    else
    {
        messageText.text = "网络错误:" + req.error;
    }
}

🧩 五、记住用户登录状态(可选)

使用 PlayerPrefs:

复制代码
PlayerPrefs.SetString("token", "abcdef123123");
PlayerPrefs.Save();

下次直接读取:

复制代码
if (PlayerPrefs.HasKey("token"))
{
    SceneManager.LoadScene("MainScene");
}

🎮 最终效果

  • 游戏启动 → 显示登录界面

  • 输入 admin / 123456 → 跳到主场景

  • 输入错误 → 显示提示

这是 Unity 项目中非常常用的登录模块实现方式。


如果你愿意,我还能帮你做:

✔ 美观版本的 UI(Steam 级别风格)

✔ 登录 + 注册 + 自动登录 + 存 Token

✔ 与 Spring Boot 后端对接

✔ 登录后切换玩家角色 / 存档系统

告诉我你想做哪一种!