当我们在制作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】如何实现自动滚动文本效果相关推荐

  1. android开发文字滚动代码,android实现滚动文本效果

    本文实例为大家分享了android实现滚动文本效果的具体代码,供大家参考,具体内容如下 效果图 实现方法 直接上代码 首先是一个自定义layout,继承自FrameLayout public clas ...

  2. 大屏html自动滚动,Automatic Scrolling Tabs - 网页自动滚屏

    Automatic Scrolling Tabs插件背景简介 最近有网友在网上提问求一个脱离鼠标仍可网页自动向下滚动,然后鼠标去操作其他东西的插件,最好能设置滚动速度的.之前我们会推荐一些鼠标手势插件 ...

  3. 实现当UILable的内容超出其范围后自动滚动效果

    本文主要介绍 [当UILabel的内容超出其自身的宽度范围后,进行互动展示的效果],我们先来看一下Demo的效果图. 实际实现起来并不十分繁杂,在这里,为了开发的效率,我们使用了一个已经封装好的UIL ...

  4. html网页内容自动滚动实现跑马灯效果

    1.效果1 超出div高度,文本自动滚动(像跑马灯一样从下往上滚动) 一个div里面有文字 1.如果文字没超出div高度:文字不用滚动 2.如果文字太多超出了div高度,那些文字就自动滚动 ps:滚动 ...

  5. tableView cell 中如果有文本框点击自动滚动不被键盘挡住

    tableView cell 中如果有文本框点击自动滚动不被键盘挡住 tableView 是继承UIscrollView,所以自然有setContentOffset方法,该方法可以设置tableVie ...

  6. Axure实现提示文本单击显示后自动消失的效果

    Axure实现提示文本单击显示后自动消失的效果 方法/步骤 如图所示,框出的部分为提示文本(已经命名为tooltip),希望达到的效果是默认加载时不显示,点击帮助图标后显示,且2秒后自动消失. 首先在 ...

  7. AndroidStudio 跑马灯效果不自动滚动的原因

    最近在学习Android的时候,想使用AndroidStudio做一个跑马灯的效果,但显示的时候却不自动滚动,找了很长时间问题,一开始总是纠结在代码上,但真正的原因是模拟器的问题 这是我layout中 ...

  8. 12_微信小程序之微信视频号滚动自动播放视频效果实现

    12_微信小程序之微信视频号滚动自动播放视频效果实现 一.获取视频的分辨率.时长.缩略图 微信小程序提供了三种方式可以获取视频的分辨率.时长: wx.getVideoInfo(Object) :只能用 ...

  9. html图片自动滚动播放器,jQuery+css实现图片滚动效果(附源码)

    bxCarousel参数说明: move:每次滚动移动图片的数量,默认为4. display_num:展示图片的数量,默认为4. speed:图片滚动速度,默认为500毫秒. margin:图片间的间 ...

最新文章

  1. 解析json,是还是不是,
  2. python爬虫——随机生成headers
  3. Duilib界面库学习笔记
  4. 哈希表的详细介绍 -转载
  5. hyperledge工具-cryptogen
  6. sqli-labs第一关(MySql基础)
  7. OpenCV Lucas-Kanade光流的实例(附完整代码)
  8. prometheus实战:
  9. 新闻标题 静态分页 (无刷新)
  10. Elasticsearch6.3.0安装IK分词插件
  11. linux终端文件名前特殊符号,Linux特殊符号大全
  12. php 调用reboot,Linux命令:reboot命令
  13. 学习大数据可以进入哪些公司?
  14. windows java eclipse_从零开始学 Java - Windows 下安装 Eclipse
  15. sa-token集成jwt
  16. 哈希表:线性探查法和平方探查法
  17. windows - PHP 开发环境搭建
  18. linux安装ssl证书
  19. 网络游戏通讯模型初探
  20. 应急响应-敏感信息泄露怎么解决?

热门文章

  1. Howland电流源输入输出关系
  2. [NOI2005]聪聪与可可
  3. android p 牛轧糖_如何启用Android牛轧糖的猫收集复活节彩蛋
  4. C/C++ 实现一个简单的文本编辑器(windows程序设计)
  5. 手机加上它,200寸电视大屏幕就在你眼前了!
  6. Web3专属的流支付协议,Zebec把它玩出了新的花样
  7. python怎么应用在机械领域的国家砝码_2020尔雅通识课Python璇█搴旂敤答案获取...
  8. informatica 学习日记整理(转)
  9. 基于51单片机的智能火灾报警系统
  10. 网站常用邮箱找回密码流程插件页面