当前位置: 首页 > wzjs >正文

日照市建设热力公司网站北京营销推广公司

日照市建设热力公司网站,北京营销推广公司,甘肃省疫情最新消息,简单的企业网站建设教程前言:Unity中UI节点 图1 如上所示,一开始本来是打算用ScrollView做的,觉得直接计算对应的文本位置就行,所以没用ScrollRect来做,可以忽略Scroll,Viewport这些名字。如下图:需要在一个背景Image…

前言:Unity中UI节点

图1
图1

如上所示,一开始本来是打算用ScrollView做的,觉得直接计算对应的文本位置就行,所以没用ScrollRect来做,可以忽略Scroll,Viewport这些名字。如下图:需要在一个背景Image组件上添加上Mask组件来显示固定位置的文本显示。
在这里插入图片描述
图2

在这里插入图片描述
图3

并且需要在要显示的文本上挂载Content Size Filter组件,但是这儿会有个坑,后续会提到。
在这里插入图片描述
图4

因为需要循环滚动播放,所以需要两个文本来满足这个需求。所以图1中的MusicDuplicateText是完全复制MusicText的。具体实现过程请继续往下:

1. 刷新音乐名字信息,并初始化两个文本的位置(伪代码)

function xxxxx:RefreshMusicInfo()-- 设置音乐信息local musicInfo = xxx1self.MusicText_txt.text = xxx2self.MusicDuplicateText_txt.text = xxx2-- 更新两个文本位置-- 第一个文本x位置为0,需要设置文本锚点self.MusicText_rect.anchoredPosition = Vector2(0, self.MusicText_rect.anchoredPosition.y)-- 第二个文本x位置:第一个文本位置+文本长度+加上两个文本间隔20(可以自己选择是否要间隔)-- 这儿就是上面提到的坑,只能用preferredWidth来获取文本长度,用rect.width获取的是0self.MusicDuplicateText_rect.anchoredPosition = Vector2(self.MusicText_rect.anchoredPosition.x + self.MusicText_txt.preferredWidth + 20 , self.MusicText_rect.anchoredPosition.y)-- 这儿是我自己设置的文本长度超过显示框的长度才滚动(可以自己选择是否设置)if self.MusicText_txt.preferredWidth > self.MusicNameScroll_rect.rect.width thenself.scrollingMusic = trueend
end

注:Content Size Filter坑点:

在做循环滚动歌名功能时,UI上挂载Content Size Filter组件后用rect获取UI的width和height在当前帧会获取不到对应的值(为0)
方法一:使用LayoutRebuilder.ForceRebuildLayoutImmediate强制刷新布局再获取
方法二:使用preferredWidth提前获取rect的width
实测如果是Text文本,方法一还是会获取不到,只能用方法二获取

2. 滚动播放,实时更新文本位置

-- xxx_rect是某个gameobject身上的RectTrsnform组件
function xxxxx:Update()if self.scrollingMusic == true then-- 更新第一个文本位置self.MusicText_rect.anchoredPosition = self.MusicText_rect.anchoredPosition - Vector2(50 * Time.deltaTime, 0)-- 更新第二个文本位置self.MusicDuplicateText_rect.anchoredPosition = self.MusicDuplicateText_rect.anchoredPosition - Vector2(50 * Time.deltaTime, 0)-- 如果第一个文本超出显示的区域框,将第一个文本的位置设置到第二个文本的后面,可以自己画图理解理解if self.MusicText_rect.anchoredPosition.x <= -self.MusicText_txt.preferredWidth thenself.MusicText_rect.anchoredPosition = Vector2(self.MusicDuplicateText_rect.anchoredPosition.x + self.MusicText_txt.preferredWidth + 20, self.MusicText_rect.anchoredPosition.y)end-- 这儿是因为我只设置了滚动一次,如果需要一直滚动可以将这儿改成下面注释掉的代码if self.MusicDuplicateText_rect.anchoredPosition.x <= 0 thenself.scrollingMusic = falseend-- if self.MusicDuplicateText_rect.anchoredPosition.x <= -self.MusicDuplicateText_rect.preferredWidth then-- self.MusicDuplicateText_rect.anchoredPosition = Vector2(self.MusicText_rect.anchoredPosition.x + self.MusicDuplicateText_txt.preferredWidth + 20, self.MusicDuplicateText_rect.anchoredPosition.y)-- endend
end
http://www.dtcms.com/wzjs/243908.html

相关文章:

  • 崇明苏州网站建设网站优化人员通常会将目标关键词放在网站首页中的
  • 做网站还是博客典型的网络营销案例
  • 购物网站模板免费西安企业seo
  • 政府网站建设运维针对本地的免费推广平台
  • c语言软件开发和网站开发区别关键词优化排名哪家好
  • 企业网站seo数据百度云资源搜索网站
  • 寺庙网站开发建设方案企业员工培训课程内容
  • 国家开发银行学生在线系统谷歌优化排名哪家强
  • 怎么做网站搜索框搜索营销策划公司取名大全
  • 做壁纸网站好三只松鼠搜索引擎推广
  • 网站制作动态网站建站在线制作
  • php网站开发需要学哪些网络营销的特征
  • 网站建设广告方案市场营销在线课程
  • 重庆网站建设seo长沙seo优化排名
  • 网站内链规划外贸seo网站建设
  • 旅游网站建设的方法网络建设推广
  • 网站建设 顺德谷歌paypal官网入口
  • 厦门市建设局网站百度区域代理
  • 做背景音乐的版权网站百度站内搜索提升关键词排名
  • 新闻网站网页设计艾滋病多久可以查出来
  • 适合做网站开发的电脑配置百度allin 人工智能
  • 建设一个公司网站大概多少钱项目推广渠道有哪些
  • 滕州做网站哪家好b2b免费发布网站大全
  • 哪个行业该做网站但是没有做友链交换平台
  • 做网站开发学什么关键词优化计划
  • 怎么做自己的微信网站上海百度推广排名优化
  • 微信朋友圈推广怎么做网站刷粉网站推广马上刷
  • wordpress 栏目不同模板网络营销推广seo
  • 柯城建设局网站天津百度seo代理
  • 济南网站建设公司晟创未来网站的优化与推广分析