简单的UI框架 | 一、UI界面的搭建_ui界面怎么做-程序员宅基地

技术标签: UI框架  unity  ui  游戏引擎  

简单的UI框架

UI界面的搭建



前言

本文将会学习到如何搭建这样基本的UI界面。在这里插入图片描述


一、UI资源的导入

直接将下载好的资源文件夹拖入Assets文件下即可在这里插入图片描述
在设置图面的时候需要注意,点击图片,需要将图片的Texture Type设置为如图中的类型,因为此模式为2D游戏中的UI资源类型,再用资源之前需要先设置。
在这里插入图片描述

二、游戏主界面设置

1.背景设置

首先建立一个Canvas画布,此画布用来存放UI界面的所有东西,并显示在Game界面的最上方,是人机交互的主要界面。在这里插入图片描述
然后再画布下建立一个Panel(Panel控件又叫面板,面板实际上就是一个容器,在其上可放置其他 UI 控件),命名为MainMemuPanel(重新命名是为了以后在代码中调用的时候可以方便的找到),并在MainMemuPanel下新建一个Panel和Image,分别用来存放游戏主玩法图标的按钮和人物面板背景图片。
在这里插入图片描述
点击MainMemuPanel,在右边找到Source Image,将我们的背景图片加载进去。
在这里插入图片描述
此时我们的背景图片已经导入完毕,可以开始接下来的操作。
拓展:点击MainMemuPanel右边的Color,打开Color面板。
在这里插入图片描述
下面会有四个可拉动的选项,其中的第四项为透明度的选择,让我们把透明度拉小之后可以发现背景图片变得透明,这样也可以方便我们在玩游戏的时候避免背景图片太深,造成的观感问题。

2.游戏主玩法图标按钮

在上面我们在MainMemuPanel下建立了一个Panel用来存放游戏主玩法的图标按钮的面板,我们将它命名为IconPanel。接下来我们要开始建立游戏主玩法的图标按钮。
首先在IconPanel下建立一个Button,命名为TaskButton,用来描述我们的人物图标按钮。
在这里插入图片描述
Button控件会自动生成一个Text控件,用来为我们的Button命名。
点击TaskButton,同样将Source Image选择为我们的任务图标资源。
在这里插入图片描述
在这个界面最下方有一个按钮叫做 Set Native Size,用来将我们的图片变换为原来的大小,这样我们在调整按钮图片大小时不会出现显示的问题。
接下来我们点击TaskButton下的Text控件,将Text内容设置为“任务”即可。
在这里插入图片描述
然后再Scene中将任务见面按钮调整到我们希望的位置和大小即可。
在这里插入图片描述
接下来我们分别要建立背包、战斗、技能、商店、系统图标按钮,我们可以在Hierarchy界面找到我们的TaskButton,直接复制粘贴即可,并重新命名,更换图标,设置Text内容即可,最后再Secne界面中调整他们之间的位置即可。

在这里插入图片描述
因为我们的工程只是刚刚开始,所以我只创建了一个Image控件来表示我的人物界面,后续不断地开发,将会对他进行更改。
在这里插入图片描述
此界面可参照上面的步骤进行。

3.游戏主玩法界面

有了图标按钮,就要有对应的点击按钮后产生的界面,因为只是再UI搭建阶段,所以只需要先建立界面就可以,后续再通过脚本文件实现他们之间的转换。
界面的搭建与上面的图标按钮搭建如出一辙。
我们在画布下方新建立一个Panel,命名为TaskPanel,用来表示任务界面,同样在Source Image中替换我们的界面资源。
在这里插入图片描述
这里我们需要界面一个Text和一个Button,分别来表示界面的名字和关闭界面的按钮。
在这里插入图片描述
Text控件中的内容当然就是“任务”,用来提示这个时任务界面。
Button控件,首先先将我们的资源导入,将其自带的Text控件可以删除,因为我们这里不需要告诉别人这个是关闭按钮。
在这里插入图片描述
最后的效果如下:
在这里插入图片描述
将这个界面中心与Secne中心一齐就可以。
同理其他的界面只需要复制粘贴即可,只是Text的内容不同。
至于各种界面内的效果,在我们后期的创建中会慢慢完善。

4.预制体

我们的画布上现在有很多东西,当我们的作品不断变大后,这样将很难管理,所以接下来我们要用到Unity中一个很重要的知识点——预制体
什么是预制体
unity预制体是用来创建和存储一个游戏对象的所有组件,各项属性和子对象。当需要多次重复使用同一个游戏对象时,便可以使用 预制体,将该游戏对象设置为预制体。
了解了预制体是什么那我们该怎么创建呢?
很简单只需要将Hierarchy界面中的GameObject、UI等,左键点击拖入我们要存放预制体的文件夹里面即可。这里我建立了一个UIPanel文件夹用来存放我的各种界面的预制体。
在这里插入图片描述
在这里插入图片描述
这样做的好处是,我以后要用到的时候,我可以方便的拿出来,并且重复的用,不用我每次都去重新创建。
创建好预制体之后,会发现Hierarchy界面中都变成了蓝色的文字,这样就说明创建成功了。
这样我们就可以将Hierarchy界面中的预制体全部删除,当我们要用的时候,在文件夹内直接拿出来用就可以。


总结

今天我们主要是将大概的UI界面给拼成功,这也是项目的第一步,同样学到了预制体是干什么的。
UI界面的完事将会在后续的不断更新中一点一点的去完善。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_64058685/article/details/124490547

智能推荐

〖Python 数据库开发实战 - Python与MySQL交互篇④〗- 数据库连接池技术-程序员宅基地

文章浏览阅读4.1w次,点赞122次,收藏88次。上一章节我们利用了事务机制进行了数据的写入(执行了 INSERT 语句)。"增、删、改、查"这四个操作,只做了 "查询" 与 "添加","删除" 与 "修改" 的实验还没有做。先别着急,接下来我们先学习一下 "连接池技术",然后再去练习 "删除" 与 "修改" 的实验也不迟。............

Windows安装word2vec的那些坑_word2vec安装失败-程序员宅基地

文章浏览阅读2.5k次。打开命令窗口,执行pip install word2vec,如图:ERROR: Command errored out with exit status 1: command: 'e:\python\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\TEMP\\pip-install-x..._word2vec安装失败

jsp在页面获取不到值的方法_在jsp文件中requestscoped读取不到元素-程序员宅基地

文章浏览阅读6.1k次,点赞6次,收藏16次。自己在做项目的时候,在jsp页面通。过${xxx}获取不到值,困扰了自己好久。自己jsp页面如下:<input id="uuid" type="hidden" value="${user.uId}" name="userId"/>controller如下: @RequestMapping(value = "/checkLogin",method = Reques_在jsp文件中requestscoped读取不到元素

Objective-C使用form方式提交json_oc post form-程序员宅基地

文章浏览阅读531次。NSString *urlStr = @"http://localhost:8080/datainterface/interfacename"; NSMutableURLRequest *jsonRequest = [[NSMutableURLRequest alloc] init]; [jsonRequest setURL:[NSURL URLWithString:ur_oc post form

KMS激活理论_kms csdn-程序员宅基地

文章浏览阅读915次。如果要在同一台KMS服务器上激活多个产品(如Office 2010和Windows 7),则需要同时安装并激活Windows KMS主机密钥。例如,当用户A安装完Office 2010后,6、KMS激活之后并非永久有效,KMS客户端必需在180之内再次连接到KMS服务器上对产品进行激活。1、Office 2007的批量授权版本是不需要激活,安装完成便可以正常使用的,但从Office 2010开始,激活的180天之内,KMS 客户端必需主动联系到KMS服务器进行重新激活,激活完成后可以再使用180天。_kms csdn

Visual Studio Team Foundation Server 2010_microsoft visual studio team foundation server 201-程序员宅基地

文章浏览阅读1w次。当前的工作用到了TFS,从没玩过,赶紧补习下,推荐下载地址:http://download.csdn.net/detail/wujiandao/4128032 Getting Started with Visual Studio Application Lifecycle ManagementVisual Studio 2010Other Ver_microsoft visual studio team foundation server 2010

随便推点

什么是知识图谱?有哪些典型应用?终于有人讲明白了_知识图谱的典型应用包括,传统搜索机器问答社交网络-程序员宅基地

文章浏览阅读6.2k次,点赞7次,收藏33次。知识图谱?有哪些典型应用?01 知识图谱背景1. 什么是知识2. 什么是图谱02 知识图谱的定义03 知识图谱的典型应用1. 医疗领域2. 金融投资领域3. 政府管理和安全领域4. 电商领域5. 聊天机器人领域01 知识图谱背景在给出知识图谱的定义之前,我们先分开讨论一下什么是知识,什么是图谱。1. 什么是知识首先看一下什么是知识。有读者可能会提出这样的问题,在大数据时代,人类拥有海量的数据,这是不是代表人类可以随时随地利用无穷无尽的知识呢?答案是否定的。知识是人类在实践中认识客观世界(包括人类_知识图谱的典型应用包括,传统搜索机器问答社交网络

soldworks文件在线预览_solidworks在线预览-程序员宅基地

文章浏览阅读4.1k次。今天很多工程师都使用不同的CAD软件,以至于产生了不同格式的CAD格式文件,因此所有人都难以互换,其中主流的CAD软件有:PTC Creo,Siemens NX,CATIA,SolidWorks,Autodesk Inventor等,如果要向下游进行传递或是需要在线预览下车间等,则需要统一轻量化处理后方可传递或是在线预览,经过近三年的时间探索,目前实现了几种主流CAD文件的轻量化处理,处理后的文件可以在线预览或是传递给下游系统,如有需要可以扫描下方且交流,其中sldprt文件在线预览如下:..._solidworks在线预览

用户登录状态记录cookie被禁用 怎么保存在html中,怎样将用户名和密码保存到Cookie中? (html部分)...-程序员宅基地

文章浏览阅读398次。在网站中,我们经常看到每当我们准备登陆时,网页询问我们是否保存用户名和密码,以便下次登陆时不用再次输入。诸如此类的功能如何实现哪?经过两天的研究,终于有了收获!现将我的经验与大家分享。在网页中记录用户的信息通常有如下几种方式:Session、Cookie、以及.Net环境下的ViewState等。比较起来,Session将用户的信息暂存在内存中,除非用户关闭网页,否则信息将一直有效。所以,用Ses..._cookie无法使用时如何保存用户信息

php pdo mysql_PHP中利用PDO_mysql操作MySQL数据库-程序员宅基地

文章浏览阅读559次。在刚刚接触PHP时,曾遇到过这样一个坑,就是在PHP7.0版本中无法使用mysql连接数据库,当时只好降级PHP版本来通过mysql来连接数据库(很无奈的做法),但作为一个与时俱进的程序员,必须学习新的技术才能保持竞争力,所以今天就介绍一下利用PDO_mysql连接MySQL,这也是PHP新版本推荐使用的一个扩展。PDO_mysql操作在php.ini中开启PDO_mysql扩展//取消注释ext..._pat pdo_mysql

vue 中数组中的某个对象的属性发生变化,视图不更新如何解决?_vue改变数组或对象视图没更新-程序员宅基地

文章浏览阅读1.8k次。第一种是数组的值改变,在改变数组的值的时候使用索引值去更改某一项,这样视图不会实时更新,这种情况是因为直接通过索引去改变数组,vue对象监听不到他的变化,所以没有更新;使用vue的变异方法pop(),push(),shift(),unshift(),revese(),sort(),splice()等方法也会触发视图更新。1.利用vue.set(object,key,val):例:vue.set(vm.obj,'k1','v1');2.利用Object.assign({},this.obj)创建新对象;_vue改变数组或对象视图没更新

系统性能优化的十大策略(强烈推荐,建议收藏)-程序员宅基地

文章浏览阅读654次。点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天 10:33更新文章,每天掉亿点点头发...源码精品专栏原创 | Java 2021超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析消息中间件 RocketMQ 源码解析数据库中间件 Sharding-JDBC 和 MyCAT 源码解析作业调度中间件 E..._系统级的优化