Unity3D学习之UI系统——用NGUI制作游戏登陆界面

这篇具有很好参考价值的文章主要介绍了Unity3D学习之UI系统——用NGUI制作游戏登陆界面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1. 需求分析

会省略一些东西,可以看我的NGUI的博客
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

2. 准备工作

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
设置UI分辨率自适应

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
设置Root 的层级 和摄像机渲染的层级为UI
主摄像机不渲染UI

3 提示面板

3.1 拼面板

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

一般都是美术给一个示意图,然后按示意图上拼面板

3.1.1 制作图集

制作两个新图集
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

3.1.2 拖面板

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
检查DrawCall

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

3.1.3 面板基类

创建面板基类,
首先设置成单例模式

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

创建虚函数 showMe
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

同时把start函数也改成虚函数
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

3.1.4 提示面板

需要提示文字,按钮点击后隐藏自己
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
关联上对象
初始化时监听按钮方法
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
提供一个接口供外部改变提示信息

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

4 登陆面板

4.1 拼面板

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

给相应的tog和btn添加碰撞器

4.2 脚本编写

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
关联控件
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
目前实现两个按钮
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

保存初始化面板显示时 tog的选择
写一个数据结构类

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
创建管理类管理数据
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
声明私有成员变量 LoginData
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

使用XML管理器进行数据的读取
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
新建一个方法进行登陆数据的存储

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
在LoginPanel中更新数据
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
登录成功后就存储数据
测试一下
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

5 注册面板

5.1 拼面板

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

5.2 代码逻辑

RegisterPanel
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
在登陆面板增加 点击注册的监听事件
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

增加注册监听事件判断输入是否合法
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
声明注册数据记录注册信息

5.3 注册数据数据结构

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
在登陆管理类中声明私有数据存储已经注册的用户信息
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
同时提供一个方法让注册面板保存注册数据
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

提供一个用户名和密码,判断用户是否注册成功
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
提供一个检测用户名和密码是否匹配的函数
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
在登陆面板进行使用
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
更新登陆函数进行测试

5.4 自动填上注册信息

清空登陆面板
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
在注册成功后,将刚刚注册的信息填上
在LoginPane新加一个方法 设置登陆面板的账号和密码
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
注册成功后调用
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6 服务器面板

6.1 拼面板

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.2 服务器选择脚本

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

在登陆成功后切换到服务器面板

6.3 选服面板配置文件

不是由玩家产生的 已经由设计者配置好的数据 在游戏中读取到配置文件,再通过配置文件内容改变游戏中的部分内容

6.3.1 创建一个类用于存储和接受配置文件

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

在StreamingAssets中创建xml文件作为配置文件
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

到时候读取就是按这个
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.4 拼面板

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.4.1 创建单个服务器的预设体

方便后面代码创建
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.5 选服面板左侧按钮

根据配置文件,动态创建服务器内容

为预设体创建脚本负责监听事件等

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
创建函数 记录点击的是哪个服务器到哪个服务器
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.6 选服面板右侧按钮功能

创建单个服务器的脚本
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
增加事件监听
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
创建初始化时调用的函数,用于读取单个服务器的数据
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.7 选服面板 动态创建按钮

6.7.1 通过数据管理器管理数据

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
在初始化时获取服务器数据
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.7.2 Panel脚本

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
因为服务器数据 进行游戏的时候不会改变,所以初始化一次就行
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
动态创建了物体,接着获得其脚本
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

更新 点击左侧按钮后的事件监听,点击后更新右侧面板更新
在chooseServerPanel提供方法,更新右侧按钮显示内容

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
更新监听事件
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
记录之前显示的单个服务器按钮们,方便切换页面后删除
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
在创建新的之前,删除老的
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

创建新的
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
创建成功后,给list里增加刚创建的Gameobject
改一下类型
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
更新显示内容
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.8 串联各组件

6.8.1 初始化选服面板

重写ChooseServerPanel中的ShowMe();
1.初始上一次选择服务器相关
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
在LoginData中有一个上次登陆的ID的属性
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
2. 更新右侧服务器的显示
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.8.2 串联打开服务器选择按钮

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.8.3 更新登陆逻辑

玩家登陆后,如果没有上次选择服务器,会直接跳转到选择服务器界面,如果选择了就跳转到进入游戏界面
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.8.4 记录上次选择的服务器

初始化时更新服务器面板和隐藏选服面板

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
重写serverPanel的showMe函数

根据玩家上一次选择的服务器ID得到数据
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
点击按钮时,记录上次选择的服务器ID
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记
保存在XML中
在serverPanel中记录
unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.8.5 自动登陆实现

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

6.8.6 解决代码执行顺序

Execution order

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记

unity 登录界面制作,学习,ui,游戏,unity,NGUI,笔记文章来源地址https://www.toymoban.com/news/detail-827678.html

到了这里,关于Unity3D学习之UI系统——用NGUI制作游戏登陆界面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity3D项目之游戏场景小地图制作

    创建一个场景资源,可在asset store资源商店下载,选择心仪场景。 链接:https://assetstore.unity.com/?locale=zh-CN 添加一个对象GameObject,命名为player,子物体包括:主摄像机,角色,后面步骤会添加一个plane。 添加一个地图摄像机,命名为MapCamera。修改属性projection为OrthoGraphic;Size为

    2024年02月11日
    浏览(17)
  • 【Unity3D赛车游戏】【二】如何制作一个真实模拟的汽车

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 :Unity游戏demo – 😶‍🌫️版本: Unity2021 😶‍🌫️适合人群:Unity初学者 😶‍🌫️学习目标:3D赛车游戏的基础制作 😶‍🌫️技能掌握

    2024年02月11日
    浏览(12)
  • 控制renderQueue解决NGUI与Unity3D物体渲染顺序问题

    NGUI与Unity3D物体渲染顺序问题,做过UI的各位应该都遇到过。主要指的是UI与Unity制作的特效、3D人物等一同显示时的层次问题。 由于UI与特效等都是以transparent方式渲染,而Unity与NGUI在管理同是透明物体的render queue时实际上互相没有感知,于是引出排序问题。现在介绍以render

    2024年02月13日
    浏览(9)
  • Unity3D粒子系统之制作火焰特效

    本文将会介绍如何使用Unity内的粒子系统制作烟雾效果。 如果想了解Unity粒子系统中的基础属性,可以看这篇博客:Unity3D粒子系统之基础属性介绍 先上预览图吧 用自己熟悉的绘画工具画一张类似这样的图片(相似即可,白灰色部分边缘不规则),注意一定要黑底。 将画好的

    2024年02月02日
    浏览(15)
  • Unity3D粒子系统之制作烟雾特效

    本文将会介绍如何使用Unity内的粒子系统制作烟雾效果。 如果想了解Unity粒子系统中的基础属性,可以看这篇博客:Unity3D 粒子系统之基础属性介绍 先附上预览图: 材质贴图 首先我们需要一张烟雾材质用的材质贴图,我是自己画的,可以参考下图自己画一张或者去网上找素材

    2024年02月02日
    浏览(20)
  • Unity3d 制作一个简单的NPC对话系统

    ​ 最近在自己写一个比较小的项目,虽然自己是一个策划,但是程序方面我觉得也是很有必要学一学的。 ​ 经过了接近一年的学习,也终于是可以独自写一些小的系统了。 ​ 这次自己写了一个比较简单的NPC对话系统,供大家参考。 进入对话区域 开始对话 Inspector面板可调

    2023年04月08日
    浏览(12)
  • Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作)

    一、属性介绍 1、主面板Particle System (1)Duration:粒子发射周期 图中,5.00即在发射5秒后进入下一个粒子发射周期。若没有勾选Looping,则5秒后粒子会停止发射。 (2)Looping:粒子按照周期循环发射 让粒子发射时间循环起来,一直发射粒子。 (3)Prewarm:预热系统 开始播放粒

    2024年02月04日
    浏览(16)
  • Unity3D学习之Unity基础——3D数学

    从这几部分学习 都是用于提供数学计算的 Mathf是结构体,Math是类 Mathf是Math的第二次封装,更适合游戏开发 2.1.1 PI Π PI 2.1.2 取绝对值 Abs 2.1.3 向上取整 CeilToInt 2.1.4 向下取整 FloorToInt 2.1.5 钳制函数 Clamp 第一个参数,如果在第二个和第三个参数之间,就是合法的 如果小于第二个参

    2024年02月20日
    浏览(14)
  • 用Unity3D制作FPS游戏的学习笔记————人物移动、利用鼠标实现视角转动和人物跳跃(含人物悬空不掉落修复)

    前言: 这是我第一次发布文章,此文章仅供参考,我也是刚学习接触untiy,在制作项目的过程中将有用的写下来记一记,以便自己之后能回头看看,各位大佬轻点喷,若有错误请麻烦积极提谢谢各位。该文章参考自B站UP主蔡先森_rm-rf发布的 【第一人称射击游戏教程2.0【已完结

    2024年04月27日
    浏览(11)
  • Unity3D学习之数据持久化——PlayerPrefs

    就是保存存档和读取存档。 分为两部分,存储和读取,先看存储在看读取 PlayerPrefs 是unity提供可以存储和读取玩家数据的公共类 上面定义过 PlayerPrefs.SetInt(“myAge”,18) 后面再定义PlayerPrefs.SetFloat(“myAge”,20.2f) 后面进行读取int型 myAge时,会变成默认值0 打印结果 0 和 100 1)父

    2024年01月18日
    浏览(16)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包