【Unity使用UGUI实现王者荣耀UI界面(三)】登录界面以及加载界面优化

简介: 【Unity使用UGUI实现王者荣耀UI界面(三)】登录界面以及加载界面优化


【Unity使用UGUI实现王者荣耀UI界面(三)】登录界面以及加载界面优化

【只是用来玩玩的,不要太当真】

效果显示:

image.png

1. 加载界面进度100%跳转登录界面

这个功能好做,只需要将上次预留的代码补充上,打开Jindu.cs

类下面初始化两个GameObject的对象

    private GameObject loadPanel; // 加载页面
    private Canvas canvas;          // 画布
    private GameObject loginPanel;  // 登录界面

使用画布是为了只使用一次GameObject的静态方法Find进行查找画布,然后使用画布的transform.Find()方法进行性能节省

然后在Start方法里面对上面的对象赋值

        canvas = GameObject.Find("Canvas").GetComponent<Canvas>();
        loadPanel = canvas.transform.Find("load").gameObject;
        loginPanel = canvas.transform.Find("login").gameObject;

然后在Updata里面添加两行代码:

            // 这里先不写,我们回头写上跳转下一个界面的代码
            loadPanel.SetActive(false);
            loginPanel.SetActive(true);

加到我们上次的最后一个判断


2. 设置视频为背景

2.1 素材准备

首先你得有素材吧

链接:https://pan.baidu.com/s/1_fZtvrVeS11qH8326SmuWA

提取码:68iw

里面有登录的素材和视频

然后你需要把素材导入进项目


2.2 设置背景视频

  1. 创建一个RawImage
    UI->RawImage
  2. 在项目文件夹创建一个纹理
    Create->Render Texture
  3. 然后在RawImage里面添加一个组件:Video Play
  4. 在Video Play里面选择我们的视频
  5. 选择我们的贴图
    image.png
  6. 单击纹理设置纹理属性
  7. 在scene面板调整大小和位置
    image.png


3. 登录界面配置

两个按钮,两个图片,素材里面有,自己配

由于暂时不打算拿微信QQ的API来进行登录,所以我们就简单点

按钮事件都用一个代码了

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class login : MonoBehaviour
{
    private Button bto;
    private GameObject loginPanel;
    private Canvas canvas;
    // Start is called before the first frame update
    void Start()
    {
        canvas = GameObject.Find("Canvas").GetComponent<Canvas>();
        loginPanel = canvas.transform.Find("login").gameObject;
        bto = gameObject.GetComponent<Button>();
        bto.onClick.AddListener(() =>
        {
            System.Threading.Thread.Sleep(2000);
            loginPanel.SetActive(false);
        });
    }
    // Update is called once per frame
    void Update()
    {
    }
}

把按钮和图片的锚点配好就行了

结语

欢迎喜爱Python,Unity(游戏开发引擎)的爱好者,让我们一步步走向大神,成功离得不远,也就两个字,坚持罢了!!

Unity游戏引擎宣言:

你是否热爱游戏呢?

你是否曾经幻想着有一天自己做出一款属于自己的游戏呢?

不要犹豫了,赶快学习吧!


目录
相关文章
|
10天前
|
前端开发 图形学
unity UGUI跟随3D物体的坐标转换
在 Unity 中实现 UGUI 元素跟随 3D 物体,关键是将 3D 物体的世界坐标转换为屏幕或画布坐标。通过 Camera.WorldToScreenPoint 方法,可将 3D 物体位置映射到屏幕上,再更新 UGUI 元素的位置。代码示例展示了如何使用该方法,使 UGUI 图像跟随 3D 模型,并提供文字显示、图像和线条的显示/隐藏功能。
|
10天前
|
图形学
Unity 获取鼠标位置下的UGUI或3D物体
本文总结了两种检测方法,分别用于UGUI和3D物体的检测。第一种方法`GetOverUIobj`专门用于检测鼠标悬停的UGUI元素,通过`GraphicRaycaster`实现。第二种方法`GetOverWordGameObject`则同时适用于UI和3D物体检测,利用`PhysicsRaycaster`进行射线检测。两者均返回悬停对象或null。
|
10天前
|
图形学
Unity UGUI拖拽移动
本文介绍了两种UI拖拽实现方式:精准拖拽和克隆拖拽。精准拖拽通过计算鼠标点击点与UI中心的偏移量,使UI跟随鼠标移动,适用于需要精确控制的场景。代码中通过`IBeginDragHandler`、`IDragHandler`和`IEndDragHandler`接口实现拖拽逻辑。克隆拖拽则在拖拽时克隆一个UI对象,使其跟随鼠标移动,适合视觉效果需求较高的场景。代码中同样使用上述接口,并在拖拽结束时销毁克隆对象。具体实现可参考提供的代码示例。
|
11天前
|
存储 图形学 开发者
Unity加载AB包
在 Unity 中加载 AssetBundle(AB 包)涉及文件定位、反序列化和内存管理。本地路径可通过 `Application.dataPath` 或 `Application.persistentDataPath` 获取,结合文件名定位 AB 包。远程 URL 则通过网络请求下载。代码示例展示了从本地和远程加载 AB 包的方法,使用 `UnityWebRequest` 和 `WWW` 类进行资源加载和实例化。
|
11天前
|
图形学
Unity UGUI实现鼠标拖动图片
在 Unity UGUI 中实现鼠标拖动图片功能,主要涉及事件检测、坐标转换和物体位置更新。根据鼠标移动量更新图片位置。代码示例展示了如何通过这些步骤实现拖动效果。
|
2月前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
1432 1
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
3月前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
197 8
|
4月前
|
计算机视觉 Python
基于Dlib的人脸识别客户端(UI界面)
基于Dlib的人脸识别客户端(UI界面)
128 2
|
4月前
|
机器学习/深度学习 数据可视化 计算机视觉
基于opencv的车牌识别系统(UI界面采用tkinter设计)
基于opencv的车牌识别系统(UI界面采用tkinter设计)
94 0
|
5月前
|
测试技术 C# 图形学
掌握Unity调试与测试的终极指南:从内置调试工具到自动化测试框架,全方位保障游戏品质不踩坑,打造流畅游戏体验的必备技能大揭秘!
【9月更文挑战第1天】在开发游戏时,Unity 引擎让创意变为现实。但软件开发中难免遇到 Bug,若不解决,将严重影响用户体验。调试与测试成为确保游戏质量的最后一道防线。本文介绍如何利用 Unity 的调试工具高效排查问题,并通过 Profiler 分析性能瓶颈。此外,Unity Test Framework 支持自动化测试,提高开发效率。结合单元测试与集成测试,确保游戏逻辑正确无误。对于在线游戏,还需进行压力测试以验证服务器稳定性。总之,调试与测试贯穿游戏开发全流程,确保最终作品既好玩又稳定。
275 4