U3D之登录界面和加载界面的处理

首先介绍一下要用到的几个组件:
1、InputField组件(输入框)
2、Button组件(按钮)
3、Slider组件(进度条)
如果想了解各个组件的详细属性的话给你们分享一下大佬整理的。
InputField:https://blog.csdn.net/weixin_38211198/article/details/89739013
Button:https://blog.csdn.net/weixin_38211198/article/details/89644141
Slider:https://blog.csdn.net/weixin_38211198/article/details/89735906
GreAmbWang大佬太强了,这是我们学习的榜样!!!
—————————————————————————————————
接下来开始实际操作登录界面和加载界面的制作过程
首先我们准备三个场景
分别命名为:logo、loadui和mian


1、在logo场景中添加两个InputField组件和一个Button组件:


U3D之登录界面和加载界面的处理_第1张图片
编写account代码:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class account : MonoBehaviour
{
    //定义账号文本框
    public InputField accountInput;
    //定义密码文本框
    public InputField passwordInput;
    //定义登录成功提示
    public GameObject yes;
    //定义登录失败提示
    public GameObject no;
    //自定义OnBtton方法
    public void OnBtton()
    {
        //accountNumber用于接收账号文本框中的内容
        string accountNumber = accountInput.text;
        //passwordNumber用于接收密码文本框中的内容
        string passwordNumber = passwordInput.text;
        //判断玩家输入的账号和密码是否正确
        if (accountNumber == "123" && passwordNumber == "123")
        {
            //成功提示
            yes.SetActive(true);
            //加载到loadui场景中去
            SceneManager.LoadSceneAsync("loadui");
            StartCoroutine(Disappear());
        }
        else
        {
            //失败提示
            no.SetActive(true);
            //开启携程
            StartCoroutine(Disappear());
        }
    }
    //定义Disapper携程
    IEnumerator Disappear()
    {
        //等待两秒回调
        yield return new WaitForSeconds(2);
        //关闭成功和失败的提示
        yes.SetActive(false);
        no.SetActive(false);
    }
}

把脚本挂载到logo场景中的一个物体上
U3D之登录界面和加载界面的处理_第2张图片
同时设置Button组件上的点击事件:U3D之登录界面和加载界面的处理_第3张图片
把刚刚挂载了account脚本的物体拖拽到On Click()上面选择OnBtton()方法就可以了。
我们来运行一下:
在账号出输入:123,密码输入:1234(设置密码为不可见的方法把密码文本框的属性Content Type的值改为:password,这时你在输入密码就会出现****了!)
U3D之登录界面和加载界面的处理_第4张图片
与我们在脚本中的账号密码不符合所以提示登录失败了。
我们在试一下输入正确的账号与密码,看它会不会跳到loadui场景:
U3D之登录界面和加载界面的处理_第5张图片
这就说明我们输入的账号与密码是正确的所以跳到加载画面了。

**

2、loadui场景添加一张背景图片在添加Slider组件:

**

U3D之登录界面和加载界面的处理_第6张图片
编写loading脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class loading : MonoBehaviour
{
    public Slider m_slider;
    public Text load;
    void Start()
    {
        //开启携程
        StartCoroutine(StartLoading());
    }
    IEnumerator StartLoading()
    {
        //定义起始点的值
        int from = 0;
        //定义终点的值
        int to = 100;
        //异步操作加载main场景
        AsyncOperation op = SceneManager.LoadSceneAsync("main");
        //允许场景激活设置为flase
        op.allowSceneActivation = false;
        while (from < to)
        {
            from++;
            //进度条的累加
            m_slider.value = from * 0.01f;
            //显示的加载进度
            load.text = from.ToString() + "%";
            
            //判断from的值大于90的&from能被3|5整除的时候将等待一秒在回调
            if (from >= 90 && (from % 3 == 0 || from % 5 == 0))
            {
                yield return new WaitForSeconds(1);
            }
            else
            {
                //等待帧结束回调
                yield return new WaitForEndOfFrame();
            }
        }
        //允许场景激活设置为true
        op.allowSceneActivation = true;
    }
}

把loading脚本挂载到load场景中的一个物体上:
U3D之登录界面和加载界面的处理_第7张图片
我们来运行一下:(不会做动图,我就多截图!)
U3D之登录界面和加载界面的处理_第8张图片
U3D之登录界面和加载界面的处理_第9张图片
U3D之登录界面和加载界面的处理_第10张图片
能够切换到mian场景就说明我们成功了!


3、main场景添加字体提示就ok了


U3D之登录界面和加载界面的处理_第11张图片
—————————————————————————————————
各个场景切换之间需要要切换的场景Scenes In Build的一下:
快捷键:Ctrl+Shift+B
U3D之登录界面和加载界面的处理_第12张图片
如果没有吧场景Build的一下的话场景是没法切换的,也会报错!

有什么地方需要改进的话麻烦大佬指出,我去改进一下!谢谢!

你可能感兴趣的:(U3D之登录界面和加载界面的处理)