下面我教你 最实用、最常用、最容易实现 的 Unity 登录模块做法。
你可以直接照着写,马上能做出一个真正能登录的界面。
✅ Unity 登录模块整体结构
典型 Unity 登录流程包含:
-
登录 UI(用户名 + 密码 + 按钮)
-
点击登录 → 调用后端接口(或本地验证)
-
登录成功 → 加载游戏主场景
-
登录失败 → 在界面显示错误提示
🧩 一、创建登录 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 后端对接
✔ 登录后切换玩家角色 / 存档系统
告诉我你想做哪一种!