引擎入门 | Unity UI简介–第2部分(1)

news2025/1/20 14:59:52

欢迎回来! 在这个三部分教程系列的第二部分中,你将学习如何在用户界面中加入动画。

在上一个部分中你学习并创建了一个带有两个按钮的场景,也学会了如何使用图像、按钮和文本UI控件,并学习了RectTransform、Anchors和Pivots等核心概念,在一个教程中要学习的技能可真不少啊!不过,这个场景本身很简单,继续加油哦。

在本教程中,你将通过添加动画、设置对话框和更多的UI控件(如Slider和Toggle)来美化场景。

你将从第一部分的结尾处开始接上这个项目。如果你还没有开始制作项目,建议从引擎入门 | Unity UI简介–第1部分(1)开始学习,或者请在底部获取项目源代码以开始。

在Unity中打开项目。打开MenuScene,拿起一杯振奋人心的饮料,开始喝思考UI吧!

本篇内容

序章

1.动画按钮

2. 制作按钮滑出屏幕的动画

文章末尾可免费获取教程源代码

本篇本篇Unity UI简介(第二部分)篇幅较长,分为八篇,本篇为第一篇。

1.动画按钮

你要直接加入一些很酷的动画,为什么呢?首先,动画很酷!其次,它们对这个项目很实用,你需要按钮从场景中退出,这样就有足够的空间来显示你稍后要创建的新对话框。

接下来创建动画和动画师,动画按钮就像动画任何其他Unity对象一样。你需要添加一个Animator组件,创建一些动画,并设置状态和它们之间的转换。

下面是制作成功的步骤:

·在 "Hierarchy "中选择StartButton

·从菜单中选择Window ▸ Animation ▸ Animation打开动画视图。

·点击动画视图中的 "Create "按钮。这将创建Animator和一个动画片段。

·将动画命名为StartButtonSlideOut并保存在RW ▸ Animations中

除了创建动画本身,Unity还为开始按钮添加了一个Animator组件,并创建了一个Animator控制器,准备好开始了吗?

2. 制作按钮滑出屏幕的动画

虽然从技术上讲,你会制作两个动画--按钮滑出,然后再滑回,但你是个精明的开发者!你会制作一个动画,然后反过来。你将创建一个动画,然后将其反转。

要创建滑出动画,请按照以下步骤进行:

·在 "Hierarchy"中选择 "StartButton"。

·确保 "Animation"视图可见。

·点击 timeline中的1:00标记,然后点击录制按钮。

·将Anchors改为top-stretch。

·在 " Inspector"中把Pos Y改为60。

·点击红圈按钮停止录制。

现在要做两件事:

·在0: 00处自动插入了一个关键帧。此时,按钮处于起始位置,也就是你在上一个教程中定位的位置。

·虽然锚的视觉表示没有变成红色,但你可以看到数值发生了变化,变成了红色,说明你也对锚进行了动画处理。

使动画视图和场景视图都可见,然后播放动画。你会看到这样的画面。

你注意到锚的动画了吗?你可能想知道为什么你需要重新定位锚。

按钮的位置就是它与锚点的距离,在StartButton的例子中,它是距离底部边缘的距离。现在,你只处理垂直移动,所以只有底部边缘才是重要的。为了确保按钮离开屏幕,将它向上移动,直到它不再可见。

如果你不知道屏幕的高度怎么办?如何确保按钮在不再可见后立即停止?

答案:改变它的锚点。

将锚点设置为屏幕的上边缘意味着你设置了与屏幕上边缘的距离。因此,按钮将始终位于边缘之上,并且与屏幕的高度无关,因为它的位置是相对于屏幕的顶部边缘而言的。

本期的教程就到这里结束了,我们下期会继续Unity UI简介(第二部分)的后续教程

Unity架构师之路

Unity教程 | 墙外的Unity | 免费资源 | 游戏开发日记

添加下方微信获取教程源代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/43999.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

元宇宙的核心技术之我见

14天学习训练营导师课程: 张子良《 元宇宙体系结构、关键技术和实践探索》 前言 提起元宇宙,相比读者都有所耳闻,而且元宇宙最近两年时间里异常的火,堪比之前的人工智能的火爆场景,甚至要超越人工智能的火爆度了。但是…

kubernetes namespace pod label deployment介绍与命令

kubernetes namespace pod label deployment 介绍与命令 1: namespace Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下,kubernetes集群中的所有的Pod都是可以…

STM32实战总结:HAL之wifi

关于无线传输的基础知识,参考: 无线通信技术概览_路溪非溪的博客-CSDN博客 学了这么多,发现信息技术主要就是数据的存储、处理以及传输这几个过程。通过各种各样的技术,来实现这几个目标。 wifi模块 现在常用的是wifi模块&#xf…

今天面了个腾讯拿38K出来的,让我见识到了基础的天花板

各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好,他山之石,可以攻玉,多看多借鉴还是有帮助的,这次腾讯也在疯狂…

自动化测试如何实施落地?详细教程来了

目录 前言 落地前:分析因素 开展前:评估价值 落地过程:解决问题 推广运营:关注反馈&输出价值 文末总结 重点:配套学习资料和视频教学 前言 这篇文章, 就聊聊自动化项目如何落地,以及…

25. [Python GUI] PyQt5中拖放的基本原理

PyQt5的拖放 拖放涉及到的主要的一些类如下所示: 一、拖放的基本原理 1.1 拖放的动作 拖放操作包括两个动作: 拖动(drag)放下(drop 或称为放置)。 当被拖动时拖动的数据会被存储为 MIME 类型的对象, MIME 类型使用 QMimeData 类来描述。…

C++——new和delete关键字

什么是new和delete new和delete不是函数,和sizeof一样都是C定义的关键字,不同的是sizeof在编译时就可以确定其返回值,而new和delete相对复杂 示例 string *ps new string("hello world");如果换做c语言,上面这句话就…

数据库——数据库备份与恢复

目录 原因: 数据库的备份与恢复: 1、使用MySQLdump命令备份 2、恢复数据库 表的导入和导出 1、表的导出 2、表的导入 原因: 尽管采取了一些管理措施来保证数据库的安全,但是不确定的意外情况总是有可能造成数据的损失,…

数据库理论 05 关系数据库设计——基于《数据库系统概念》第七版

通过E-R图转换得出一组关系模式后 **选择1:**把一些关系模式合并为更大的关系 —— 会产生过多的数据冗余 inst_dept(ID, name, salary, dept_name, building, budget)如果通过E-R模型转换得出如下两个关系模式 sec_class(sec_id, building, room_number) and se…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java计算机专业建设管理系统3286d

面对老师五花八门的设计要求,首先自己要明确好自己的题目方向,并且与老师多多沟通,用什么编程语言,使用到什么数据库,确定好了,在开始着手毕业设计。 1:选择课题的第一选择就是尽量选择指导老师…

ThreadLocal源码解析 1.运行原理

ThreadLocal源码解析—运行原理 简介 ThreadLocal 类用来提供线程内部的局部变量,这种变量在多线程环境下访问(通过 get 和 set 方法访问)时能保证各个线程的变量相对独立于其他线程内的变量,分配在堆内的 TLAB 中。 ThreadLoc…

【Mybatis编程:根据若干个id批量删除相册(动态SQL)】

目录 1. 执行的SQL语句 2. 在AlbumMapper.java接口添加抽象方法 3. 在AlbumMapper.xml中配置以上抽象方法映射的SQL语句 4. 标签书写规范 1. 执行的SQL语句 需要执行的SQL语句大致是: delete from pms_album where id? or id? or ... id? delete from pms…

《机器学习实战》10.K-均值聚类算法

目录 利用K-均值聚类算法对未标注数据分组 K-均值聚类算法 2 使用后处理来提高聚类性能 3 二分K-均值算法 4 示例:对地图上的点进行聚类 4.1 Yahoo!PlaceFinder API 4.2 对地理坐标进行聚类 5 本章小结 本章涉及到的相关代码和数据 利用K-均值聚…

Unity基本编译环境设置(代码自动补全)

基本说明: 中国 Unity 官网下载地址:https://unity.cn/releases 请下载 Unity HUB 来管理和安装你的 Unity 各种版本 场景一: Windows系统 |Unity 2020之前的版本 |Visual Studio Community编辑器 电脑中没有任何…

并发控制常用定位方法及解决措施

并发控制常用定位方法及解决措施 7.1 排队问题 出现业务阻塞、性能下降、查询无响应等类似现网问题时,通过以下方法可以排查是否排队问题并定位排队原因,同时根据排队原因给出相应规避措施。 7.1.1 确认是否排队 首先确认是否排队问题,其…

力扣(LeetCode)2095. 删除链表的中间节点(C++)

快慢指针 设置哑结点,便于删除头结点。找到链表的中间结点,可以用快慢指针从头结点出发,慢指针最后停在中间结点。删除中间结点,应当找中间结点的前一个结点。于是想到加入哑结点,这样初始快慢指针既可以往前一个位置…

RADServer应用程序的交钥匙应用程序基础

RADServer应用程序的交钥匙应用程序基础 RADServer是快速构建和部署基于服务的应用程序的交钥匙应用程序基础。RAD Server提供自动化的Delphi和CREST/JSON API发布和管理、企业数据库集成中间件、IoT Edgeware和一系列应用程序服务,如用户目录和身份验证服务、推送通…

retimer芯片调式总结

1,主备状态是否ok。 看里面的0-3工作在Master(master Active), 4-7 工作在Master(wait master),主控0-3,备控4-7. current postion说明: typedef enum {VEGA_HMUX_SWITCH_TO_MASTER = 0,VEGA_HMUX_SWITCH_TO_SLAVE = 1,VEGA_HMUX_SWITCH_TO_PATTERN = 2,VEGA_HMUX_SWITC…

VSCode配置ssh连接本地wsl方法

1、首先需要安装插件Remote-SSH 2、其次在wsl子系统中安装ssh服务并设置允许密码登入 3、开启ssh服务并查看wsl子系统的IP地址 4、返回vscode里面的Remote SSH插件,点击下图中的那个号进行设置: 首先输入的是连接名字 ,按enter键确认之后选…

施工企业数字化转型如何避免IT技术与企业管理的“两张皮”

工程项目是建筑产业的最基本单元,企业的生产经营数据都来源于项目,通过量化建造过程中的生产、管理要素,利用IoT、BIM、大数据、AI等核心技术,实时采集现场真实、唯一、精准、有效的工程项目资金、成本、进度、质量、安全、技术等…