UGUI使用小技巧(五) Scroll Rect组件的使用

2023-10-15 07:20

本文主要是介绍UGUI使用小技巧(五) Scroll Rect组件的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在功能开发中,由于可能需要显示很多数据,但是一个界面显示不下,经常都会遇到需要滑动的列表,如背包,排行榜等,这些地方基本都会用到Unity3D的Scroll Rect组件来实现滑动功能。除此之外,Scroll Rect还有一些小技巧,可以用来滑动文字,图片,达到一些别的功能。

一、基本用法

经常使用到的组件:Scroll Rect、Mask、GridLayoutGroup

首先Unity的Hierarchy面板的Canvas下创建一个Scroll View,右键UI->Scroll View(因为我不需要滑动条,所以我删了Scrollbar Horizontal和Scrollbar Vertical),然后在Scroll View下的Content子物体下添加GridLayoutGroup组件,接着添加你的子物体到Content下,这样,最简单的滑动框就做好了。当然,你也可以创建空物体,自己添加Scroll Rect、Mask、GridLayoutGroup组件来实现这个滑动框的功能。

主要思路就是:Scroll Rect组件负责滑动,Scroll Rect组件下的Content是可滑动区域,Horizontal和Vertical两个参数是决定滑动是否左右,上下滑动,MovementType是滑动类型。Mask组件负责控制可以看到的区域。GridLayoutGroup组件负责子物体的分布。

二、小技巧:控制文本的滑动

在开发中,有可能你的UI界面需要显示很多东西,但是没有多余的地方给你显示了,你会覆盖别的内容,或者别的内容会覆盖你。如描述,中文翻译为英文,名字加上了区服等,你可以将文本改为可滑动的。

经常使用到的组件:Scroll Rect、Mask、ContentSizeFitter

控制文本的滑动原理差不多,只是这里不需要在Content上添加分布组件GridLayoutGroup,而是在Content下创建Text,在Text上添加ContentSizeFitter组件,设置HorizonttalFit属性或者VertiaclFit属性。这样你就可以拖拽文本查看被遮挡的内容了。

三、小技巧:控制图片的滑动

在开发中,当你遇到背景图片比较大,已经超出了Canvas范围,如果固定大小一些东西会显示不完全,如果将全部东西显示到一个Canvas中,又会将图压缩的很小这样的尴尬问题中,可能就可以通过滑动背景图片这样方法来实现了。如小地图,某些背景图片等。

使用到的组件:Scroll Rect、Mask

在Content下创建图片,此图片就是你要拖动的背景。不需要添加其他的组件,ScrollRect的其他属性看自己的具体情况设置。

注意:Mask在ViewPort下,ViewPort应该设置的大小是你的Canvas的大小(具体个人设置),Content为可拖动的范围,Image大小为你的图片大小,我将这两个物体设置为相同的大小。

嘿嘿,这样就可以看到所有的背景图了。

Scroll Rect拖动图片

以上就是我在项目中常用到的Scroll Rect组件小技巧了。如果你有更多的Scroll Rect组件使用小技巧,期待你的分享!

 

这篇关于UGUI使用小技巧(五) Scroll Rect组件的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/216224

相关文章

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Springboot3 ResponseEntity 完全使用案例

《Springboot3ResponseEntity完全使用案例》ResponseEntity是SpringBoot中控制HTTP响应的核心工具——它能让你精准定义响应状态码、响应头、响应体,相比... 目录Spring Boot 3 ResponseEntity 完全使用教程前置准备1. 项目基础依赖(M

Java使用Spire.Barcode for Java实现条形码生成与识别

《Java使用Spire.BarcodeforJava实现条形码生成与识别》在现代商业和技术领域,条形码无处不在,本教程将引导您深入了解如何在您的Java项目中利用Spire.Barcodefor... 目录1. Spire.Barcode for Java 简介与环境配置2. 使用 Spire.Barco

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

C# 预处理指令(# 指令)的具体使用

《C#预处理指令(#指令)的具体使用》本文主要介绍了C#预处理指令(#指令)的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1、预处理指令的本质2、条件编译指令2.1 #define 和 #undef2.2 #if, #el

C#中Trace.Assert的使用小结

《C#中Trace.Assert的使用小结》Trace.Assert是.NET中的运行时断言检查工具,用于验证代码中的关键条件,下面就来详细的介绍一下Trace.Assert的使用,具有一定的参考价值... 目录1、 什么是 Trace.Assert?1.1 最简单的比喻1.2 基本语法2、⚡ 工作原理3