【UGUI】如何实现自动滚动文本效果
当我们在制作UI使用Text时,如果文本信息过长,有两种处理方式,一种是换行展示,另一种则是滚动展示,下面博主将给大家介绍如何制作自动滚动文本。
第一步,创建一个Image(GameObject > UI > Image),可以看到出现了一个白色的框框,改变框框的尺寸,以便进行文本信息显示,接着在Image下创建一个Text(GameObject > UI > Iegacy > Text),改变Text的尺寸,长度超出Image尺寸或边界,可以将Image改为半透明,初始化文本信息“Success is the ability to go from one failure to another with no loss of enthusiasm.”,属性根据自己进行设置,如下图所示。
第二步,为Image添加组件Mask,效果如上图,再添加组件Scroll Rect,进行设置如下图,将Text拖入,Horizontal是横向滚动,Vertical是纵向滚动,这里我们取消Vertical,Movement Type(下面会进行介绍)设置为Clamped(可拖拽,无弹性)。
属性Movement Type介绍:
Unrestricted:无限制,可任意拖拽,可超出文本边界。
Elastic:可拖拽,有弹性,不可超出文本边界。
Clamped:可拖拽,无弹性,不可超出文本边界。
第三步,给Image贴代码,新建C#文件,重命名为TextController,双击打开cs文件,代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class TextController : MonoBehaviour
{public ScrollRect rect;// Start is called before the first frame updatevoid Start(){rect = gameObject.GetComponent<ScrollRect>();//绑定组件}// Update is called once per framevoid Update(){rect.horizontalNormalizedPosition += 0.08f * Time.deltaTime;//滚动速度}
}
以上,一个简单的自动文本滚动效果就做好了,运行即可。
下面再给大家介绍下在博主的3d游戏项目案例(金山打字之生死时速)中如何控制滚动效果和玩家打字的速率同步,代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class TextController : MonoBehaviour
{public ScrollRect rect;// Start is called before the first frame updatevoid Start(){rect = gameObject.GetComponent<ScrollRect>();}// Update is called once per framevoid Update(){//rect.horizontalNormalizedPosition += 0.08f * Time.deltaTime;}public void Run(){rect.horizontalNormalizedPosition += 0.02f;//滚动频率}
}
在原文PlayerController.cs文件中判断是否按下字母函数下加入以下代码实现调用:
if (index >= 9)//当敲第10个字母的时候,开始滚动{runText.GetComponent<TextController>().Run();//调用函数}
【UGUI】如何实现自动滚动文本效果相关推荐
- android开发文字滚动代码,android实现滚动文本效果
本文实例为大家分享了android实现滚动文本效果的具体代码,供大家参考,具体内容如下 效果图 实现方法 直接上代码 首先是一个自定义layout,继承自FrameLayout public clas ...
- 大屏html自动滚动,Automatic Scrolling Tabs - 网页自动滚屏
Automatic Scrolling Tabs插件背景简介 最近有网友在网上提问求一个脱离鼠标仍可网页自动向下滚动,然后鼠标去操作其他东西的插件,最好能设置滚动速度的.之前我们会推荐一些鼠标手势插件 ...
- 实现当UILable的内容超出其范围后自动滚动效果
本文主要介绍 [当UILabel的内容超出其自身的宽度范围后,进行互动展示的效果],我们先来看一下Demo的效果图. 实际实现起来并不十分繁杂,在这里,为了开发的效率,我们使用了一个已经封装好的UIL ...
- html网页内容自动滚动实现跑马灯效果
1.效果1 超出div高度,文本自动滚动(像跑马灯一样从下往上滚动) 一个div里面有文字 1.如果文字没超出div高度:文字不用滚动 2.如果文字太多超出了div高度,那些文字就自动滚动 ps:滚动 ...
- tableView cell 中如果有文本框点击自动滚动不被键盘挡住
tableView cell 中如果有文本框点击自动滚动不被键盘挡住 tableView 是继承UIscrollView,所以自然有setContentOffset方法,该方法可以设置tableVie ...
- Axure实现提示文本单击显示后自动消失的效果
Axure实现提示文本单击显示后自动消失的效果 方法/步骤 如图所示,框出的部分为提示文本(已经命名为tooltip),希望达到的效果是默认加载时不显示,点击帮助图标后显示,且2秒后自动消失. 首先在 ...
- AndroidStudio 跑马灯效果不自动滚动的原因
最近在学习Android的时候,想使用AndroidStudio做一个跑马灯的效果,但显示的时候却不自动滚动,找了很长时间问题,一开始总是纠结在代码上,但真正的原因是模拟器的问题 这是我layout中 ...
- 12_微信小程序之微信视频号滚动自动播放视频效果实现
12_微信小程序之微信视频号滚动自动播放视频效果实现 一.获取视频的分辨率.时长.缩略图 微信小程序提供了三种方式可以获取视频的分辨率.时长: wx.getVideoInfo(Object) :只能用 ...
- html图片自动滚动播放器,jQuery+css实现图片滚动效果(附源码)
bxCarousel参数说明: move:每次滚动移动图片的数量,默认为4. display_num:展示图片的数量,默认为4. speed:图片滚动速度,默认为500毫秒. margin:图片间的间 ...
最新文章
- 解析json,是还是不是,
- python爬虫——随机生成headers
- Duilib界面库学习笔记
- 哈希表的详细介绍 -转载
- hyperledge工具-cryptogen
- sqli-labs第一关(MySql基础)
- OpenCV Lucas-Kanade光流的实例(附完整代码)
- prometheus实战:
- 新闻标题 静态分页 (无刷新)
- Elasticsearch6.3.0安装IK分词插件
- linux终端文件名前特殊符号,Linux特殊符号大全
- php 调用reboot,Linux命令:reboot命令
- 学习大数据可以进入哪些公司?
- windows java eclipse_从零开始学 Java - Windows 下安装 Eclipse
- sa-token集成jwt
- 哈希表:线性探查法和平方探查法
- windows - PHP 开发环境搭建
- linux安装ssl证书
- 网络游戏通讯模型初探
- 应急响应-敏感信息泄露怎么解决?
热门文章
- Howland电流源输入输出关系
- [NOI2005]聪聪与可可
- android p 牛轧糖_如何启用Android牛轧糖的猫收集复活节彩蛋
- C/C++ 实现一个简单的文本编辑器(windows程序设计)
- 手机加上它,200寸电视大屏幕就在你眼前了!
- Web3专属的流支付协议,Zebec把它玩出了新的花样
- python怎么应用在机械领域的国家砝码_2020尔雅通识课Python璇█搴旂敤答案获取...
- informatica 学习日记整理(转)
- 基于51单片机的智能火灾报警系统
- 网站常用邮箱找回密码流程插件页面