Unity3D制作3dRPG游戏——登录系统

目录

  • Unity3D制作3dRPG游戏——登录系统
  • 设定辅助摄像机(登录界面背景)
  • UI界面设计
  • 编写代码GameManage思路过程
  • 代码GameManage和实现登录操作

设定辅助摄像机(登录界面背景)

在unity中操作,复制一个原本指向主角的摄像机,把其身上挂载的上一步控制镜头的代码一出,选定一个位置,在菜单栏GameObject->Align with view。

UI界面设计


整体为一个Canvas
账号和密码两个输入框为UI–>Input Field,可进行设置初始提示文本,和输入后文本类型(例如设置密码栏输入时为“*******”)
登录按钮为Button
另外设置几个普通text用来显示提示信息(例如登录失败,账号密码不能为空等)

编写代码GameManage思路过程

首先注意添加需要的using语句,UI操作的using UnityEngine.UI和读取txt操作的using System.IO

确定使用MVC架构单例模式创建好构造函数。

声明主角的相关资源(控制主角和摄像机的显示)和登录操作所需的相关资源

编写一个重置函数,并在Start()中调用,即每次启动该项目都从重置函数中所写的情况开始运行。包括关闭主摄像机和主角的显示(利用SetActive(true/false)来改变相关变量)。

编写方法检测相关输入框中的内容,根据情况显示信息。

创建一个txt文件用来存放登录信息。

编写一个方法,遍历整个txt文档,并跟从输入框中得到的信息比对,比对正确即可完成登录。

编写登录成功函数,登录成功后,让辅助摄像机关闭,打开主摄像机和主角显示,方法和重置函数相同。

代码GameManage和实现登录操作

在unity中创建空物体重命名GameManage。

把代码GameManage.cs挂载给空物体GameManage。并把unity中相关变量的物体拖拽至代码中对应的地方。

在两个Input Field的属性列表中,把GameManage拖拽到On Value Changed()和On End Edit()中,分别选定好相对应的函数(用户名选择用户名相关的函数,密码选择密码相关的函数)。

在button的属性列表中,把GameManage拖拽到On Click()中,选定点击按钮进行运行的函数。

另外,为了使登录成功后,UI界面跟随辅助摄像机同时消失,在Canvas下新建一个Plane,把所有用到的UI元素全都放置在Plane下,在代码中加入控制Plane显示消失的语句(SetActive(true/false))。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;public class GameManage : MonoBehaviour
{#region 单例模式//MVC架构   单例模式public static GameManage Index;/// <summary>/// 构造函数/// </summary>GameManage()//当这个代码出现的时候,首先运行这个函数{Index = this;}#endregion#region 关于主角的资源[Header("主摄像机")]//主摄像机public GameObject MainCame;[Header("角色")]//角色public GameObject Players;#endregion#region 关于登录[Header("登录相机")]//登录相机public GameObject LoginCame;//用户名输入public InputField UserName;//密码输入public InputField PassWord;//检测用户名public Text UserNameTest;//检测密码public Text PassWordTest;//登陆失败提示public Text FailTips;//登录界面public GameObject Login;#endregion// Start is called before the first frame updatevoid Start(){Res();}// Update is called once per framevoid Update(){}//复位函数private void Res(){//关闭主摄像机,关闭主角显示,打开从摄像机,显示UI界面MainCame.SetActive(false);Players.SetActive(false);LoginCame.SetActive(true);Login.SetActive(true);}public void OnChanged(){Debug.Log("我的值改变了");}public void OnUserEnd(){if (string.IsNullOrEmpty(UserName.text)){UserNameTest.text = "用户名不能为空";}}public void OnPassWordEnd(){if (string.IsNullOrEmpty(PassWord.text)){PassWordTest.text = "密码不能为空";}}//按下登录按钮public void OnLoginButton(){if(string.IsNullOrEmpty(UserName.text)){UserNameTest.text = "用户名为空";}if (string.IsNullOrEmpty(PassWord.text)){PassWordTest.text = "密码为空";}else{Debug.Log("您输入的账号是" + UserName.text + "/r您输入的密码是" + PassWord.text);//网络游戏本环节是想服务器请求登录,比较数据库中的账号密码是否匹配if (LoginGame(UserName.text, PassWord.text)){Debug.Log("登陆成功");LoginIsOK();}else{FailTips.text = "登陆失败";Debug.Log("登陆失败");}}}bool LoginGame(string User,string Pass){//把txt中的信息读出穿个一个新的string变量string[] allUser = File.ReadAllLines(Application.dataPath + "/Date/UserList.txt");//遍历整个读取到的txt中的信息for (int i = 0; i < allUser.Length; i++){string[] Use = allUser[i].Split(':');if (Use[0] == User){//用户名正确if (Use[1] == Pass){//完全正确return true;}else{PassWordTest.text = "密码错误";return false;}}else{UserNameTest.text = "用户名不存在";return false;}}return false;}//登录成功void LoginIsOK(){//打开主摄像机,角色显示,关闭从摄像机和UI显示LoginCame.SetActive(false);MainCame.SetActive(true);Players.SetActive(true);Login.SetActive(false);}
}

Unity3D开发RPG游戏—登录操作的实现

Unity3D制作3dRPG游戏——登录系统相关推荐

  1. Unity3D制作3dRPG游戏——主角移动控制实现

    Unity3D制作3dRPG游戏--主角移动控制实现 目录 Unity3D制作3dRPG游戏--主角移动控制实现 实现原理 具体操作 问题解决 总体代码及效果展示 完整代码(镜头控制由之前的文章修改得 ...

  2. Unity3D制作3dRPG游戏——镜头控制

    Unity3D制作3dRPG游戏--镜头控制 镜头控制 Unity3D制作3dRPG游戏--镜头控制 直接控制镜头围绕玩家角色旋转 控制镜头跟随鼠标上下左右滑动围绕玩家角色旋转 控制镜头跟随鼠标中键滚 ...

  3. python注册系统_Python制作简易注册登录系统

    Python制作简易注册登录系统 这篇文章主要为大家详细介绍了 Python 简易注册登录系统的制作方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Python 是一种面向对象.解释型计算机程 ...

  4. 制作一个银行卡登录系统

    制作一个银行卡登录系统 {"expire_date":"2021-01-01","id":"1234","st ...

  5. 使用Unity3D制作2D游戏的重点做法

    官网上有提供一个2D游戏的教学范例,这个游戏只不过把镜头摆放在横向位置跟随角色移动,游戏内物件运动时固定一个轴不动,使他像横轴式的2D游戏来玩,本质上其实还是个3D游戏,所以如果没有3D建模的话不就没 ...

  6. Unity3d制作2D游戏飞翔的小鸟(FlappyBird)

    目录 一.学习方向 二.制作步骤 1.新建项目 3.设置为精灵模式 4.精灵图像分割 5.场景布局设置 6.录制小鸟飞翔动画 7.构建飞翔的小鸟让其响应 8.构建UI对象并让其响应 9.构建游戏背景并 ...

  7. unity3d制作RPG游戏系列(1)——介绍

    个人博客文章链接:http://www.huqj.top/article?id=158 最近闲来无事,玩了几天的u3d,做了个简单的rpg游戏,打算把制作的过程还有一些坑从头到尾记录一下,本身做游戏只 ...

  8. unity3d制作RPG游戏系列(4)——UI界面

    个人博客文章链接:http://www.huqj.top/article?id=161 游戏中除了3d场景以外,UI界面也是很重要的一部分,例如主角的头像.血条.背包.按钮等. 下面是myrpg中的简 ...

  9. 制作单机游戏体力系统

    做单机游戏的时候,制作人突然提了一个"体力系统"的需求.目前的很多游戏无论是网游还是单机,都有体力系统,我想可能是因为平衡玩家而限制游戏玩法或者是怕玩家无限制的玩游戏疲惫的原因吧. ...

最新文章

  1. 献给老师,我的编程之路
  2. UVA10382喷水装置
  3. Linux从零开始(二、基础命令(续二)解压 tar)
  4. 怎样用python批量处理文件夹_python批量处理文件或文件夹
  5. vba将select的值直接赋给变量
  6. 简单的跑马灯效果(轮播图)
  7. win10同时安装jdk8和jdk11带来的小坑
  8. python 运动模糊 退化模型 点扩散函数 逆滤波与维纳滤波
  9. 怎么得到PreparedStatement查询条数的结果
  10. Android9设备打开WIFI热点,Android9.0Wifi热点开启流程梳理
  11. USB(十)2022-03-03
  12. 从你的全世界路过—一群程序员的稻城亚丁游记
  13. 【数据结构】---堆排序+TOP-K问题(了解游戏排行底层原理)
  14. 【实验室集训大作业】JDBC实现宠物商店
  15. ansible的变量和机密
  16. 链表详解(单链表、双向链表、链表逆序)
  17. 移动硬盘错误检查与快速修复方法
  18. seamle***dp+rdesktop完美结合
  19. 英汉词典c语言报告程序,C语言电子英汉词典程序设计报告-自动化1203-李煜明.docx...
  20. mysql安装 防火墙,mysql8 参考手册--安装或卸载MySQL企业防火墙

热门文章

  1. linux服务器排查病毒纪实
  2. 【达内课程】Activity 详解
  3. 毕业生迷茫,中年人焦虑,职场路如何越走越宽?
  4. 第43篇:国内商用代码审计工具CodePecker啄木鸟的使用教程
  5. 离散数学——基本离散结构:集合,函数,序列,和式和矩阵
  6. 抓住用户需求的网易有道,能看破教育改革的本质吗?
  7. 前端求职难?那是你没看见这个
  8. 笔耕不辍 -- 继续前行
  9. Ubuntu18.04 ulimit 设置
  10. 【数据结构】单向不带头结点 非循环链表的 增,删,查,改 的实现