简单的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

智能推荐

【数据增强】——弹性变形(Elastic Distortion)_数据增强随机弹性变换-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏31次。转载自:https://zhuanlan.zhihu.com/p/342274228作者:ChenCver可能应用场景线性场景的语义分割文字识别随笔弹性变形的第二个步骤,和现在语义分割中流行的可学习光流上采样SFnet,采用神经网络来学习随机变化的随机场。1. 前言弹性变形数据增强,本人在看Unet论文时第一次接触到,工作中,经常用到语义分割解决问题,发现在针对线分割的问题,经常都会出现中间断裂的情况。后期经过不断工程验证,发现弹性变形这种数据增强有助于解决该问题,弹性变形论文最早是._数据增强随机弹性变换

python可视化 Task03_axs.set_xticks-程序员宅基地

文章浏览阅读257次。学习参考:https://github.com/datawhalechina/fantastic-matplotlib文章目录1. 墨尔本1981年至1990年的每月温度情况2. 画出数据的散点图和边际分布import numpy as npimport pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus']_axs.set_xticks

tp 双击唤醒 最终方案 实现流程_高通平台tp双击唤醒怎么设置-程序员宅基地

文章浏览阅读4.2k次。双击唤醒_高通平台tp双击唤醒怎么设置

AWS EBS快照创建_aws自动创建快照-程序员宅基地

文章浏览阅读502次。EBS快照创建参数选择&填写资源类型:选择存储卷: 填写需要备份的EBS的卷ID描述: 填写此次快照的描述,方便识别标签: 可以编辑标签,标注这个快照属于哪个EBS卷或者属于卷挂载的机器信息参考文档创建Amazon EBS快照:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/ebs-creat..._aws自动创建快照

tp5 宝塔open_basedir restriction in effect 错误_thinkphp5 file_put_contents(): open_basedir restri-程序员宅基地

文章浏览阅读707次。_thinkphp5 file_put_contents(): open_basedir restriction in effect. file(/pub

OkHttp保存和使用cookie_okhttpclient cookie-程序员宅基地

文章浏览阅读4.6k次。1. client.cookieJar()用来设置cookie OkHttpClient okHttpClient = new OkHttpClient.Builder() //打印日志 .addInterceptor(interceptor) //设置Cache目录 ._okhttpclient cookie

随便推点

java csv下载_java 实现csv文件下载-程序员宅基地

文章浏览阅读1.5k次。直接上代码@Controller@RequestMapping(value="download")@ResponseBodypublic void download(HttpServletRequest request,HttpServletResponse response){//获取系统换行符String lineSeparator = System.getProperty("line.sep..._java http实现csv文件下载丢失文件头

Java基础知识梳理_javass框架访问触发时机不同-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏2次。文章目录java程序运行包括2个重要阶段:编译阶段和运行阶段虚拟机类加载机制类加载时机(整个生命周期)Java的类加载过程加载验证准备解析初始化类加载器双亲委派模型好处String、StringBuffer、StringBuilderequals()和“==”四种引用强引用软引用(SoftReference)弱引用(WeakReference)虚引用(PhantomReference)JVM占小狼的JVM源码分析文集垃圾回收机制GC新生代老年代概念判断对象是存活还是死了?四种垃圾收集算法标记-清除算法(Ma_javass框架访问触发时机不同

java动态创建二维数组技巧-程序员宅基地

文章浏览阅读1.2w次,点赞3次,收藏9次。比如两次循环时,便可以如下操作:int [ ][ ] arr ; arr = new int [ 一维数 ][ ]; //动态创建第一维 for ( i = 0 ; i < 一维数 ; i++ ) { arr [ i ] = new int [ 二维数 ]; //动态创建第二维 for( j=0 ; j < 二维数 ; j...

golang 创建函数基础语法_go函数里面创建函数-程序员宅基地

文章浏览阅读364次。为什么使用函数1:减少代码冗余2:提高代码维护程度基本语法func 函数名 (形参列表) (返回值列表) { 执行语句。。。。 return 返回值列表}package mainimport( "fmt")func cal(n1 float64,n2 float64,label byte) float64 { var res float64 switch label { case '+': res = n..._go函数里面创建函数

C语言数据结构——单链表(不带头)_不带头结点的单链表的元素的创建、查找、插入、删除等基本操作-程序员宅基地

文章浏览阅读1.9k次,点赞12次,收藏29次。一、单链表:1.1 概念、1.2 链表结构分析、1.3 单链表的基本操作、1.4 单链表的基本操作源码。_不带头结点的单链表的元素的创建、查找、插入、删除等基本操作

无法安装64位版本的office解决方案_无法安装office此安装适用于-程序员宅基地

文章浏览阅读5.6w次,点赞23次,收藏43次。文章目录问题描述出现原因解决方案卸载清除注册表重新安装本文小结问题描述无法安装64位版本的office,因为在您的PC上找到以下32位程序:请卸载所有32位office程序,然后重试安装64位office。如果想要安装32位office,请运行32位安装程序。出现原因 当我们安装64位的Excel的时候,由于我们电脑安装了32位的Excel,所以,安装会出错, 我们需要卸载32位E..._无法安装office此安装适用于

推荐文章

热门文章

相关标签