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

一流的高端企业网站国外搜索引擎大全

一流的高端企业网站,国外搜索引擎大全,北京软件编程培训机构,扬州市邗江区疫情cocos2 使用 Layout 组件后,子节点 Label 高度变化后,抖动问题 最近使用 cocos2 做了一个简单的效果,就是类似于DeepSeek问答的效果,当然数据是写死的,没有对接接口,仅仅前端模拟而已。在做效果的时候发现一…

cocos2 使用 Layout 组件后,子节点 Label 高度变化后,抖动问题

最近使用 cocos2 做了一个简单的效果,就是类似于DeepSeek问答的效果,当然数据是写死的,没有对接接口,仅仅前端模拟而已。在做效果的时候发现一个问题,就是我在父容器中配置了Layout组件,按理说这个组件会自动布局的,但是我发现向子节点 Label 往里 push 文字的时候,在换行了的时候,布局会闪一下子,这篇文章主要解决这个问题。

问题

当我通过代码,每隔20毫秒的时候,向 Label 的 string 中追加一个字符,正常是没有问题的,但是当换行的时候,布局会抖动一下,就像下面的样子:

在这里插入图片描述

能看出来每当换行的时候会出现抖动的问题,可能截取GIF图,看的不是很明显,实际看起来很严重。

代码其实很简单:

	this.timer = setInterval(() => {// 如果没有回答完则继续添加文字if (this.index < this.answerData.think.length) {// 向 label 中添加文字(关键代码!)txtNode.getComponent(cc.Label).string += this.answerData.think[this.index];this.index++;    // 文字索引+1// 进度条划到最后面let chatBox = cc.find('Canvas/page/chatBox');chatBox.getComponent(cc.ScrollView).scrollToBottom(0.1);} else {// 回答完了就销毁定时器clearInterval(this.timer);this.timer = null;this.index = 0;}}, 25)

上面写了个案例代码,主要就是如果文字没有加载完,就每隔25毫秒向Label中添加一个文本进去。

原因

为啥会出现闪动的问题其实很显而易见,就是当换行了的时候,文本高度增加了,但是 Layout 没有立即响应,他需要下一帧才会渲染,所以说当子节点高度增加了,父元素高度还没来的急改变,子组件撑出父元素了,所以文本往上跑了,下一帧渲染的时候,父元素计算出了最新高度,父元素高度合适了,撑出去的子节点又回来了,平时不会撑出去,因为子节点高度不会变,只有子节点换行了,高度才会变化,才会出现这个问题。

解决

解决起来其实就几行代码,很简单。

就是当子节点高度发生变化的时候,我们手动强制刷新一下文本组件,然后在强制刷新一下需要重新布局父元素就可以了,代码也很简单:

// 文本强制刷新
txtNode.getComponent(cc.Label)._forceUpdateRenderData(); 
// 父节点强制刷新
thinkNode.getComponent(cc.Layout).updateLayout()

txtNode.getComponent(cc.Label)._forceUpdateRenderData(); 解释:

  • txtNode:一个CCNode 对象,表示文本标签所在的节点。
  • getComponent(cc.Label):获取该节点上挂载的cc.Label组件,用于显示文本
  • _forceUpdateRenderData():强制更新标签的渲染数据。通常在修改文本内容后,引擎会自动更新渲染,但某些情况下(如立即需要获取文本宽度),需要手动强制刷新。 _前缀表示这是一个内部方法,不建议直接调用,但在必要时可用于优化渲染流程。

thinkNode.getComponent(cc.Layout).updateLayout(); 解释:

  • thinkNode:一个 CCNode 对象,表示布局容器节点。
  • getComponent(cc.Layout):获取该节点上挂载的cc.Layout组件,用于自动排列子节
  • updateLayout():立即更新布局。当动态添加、移除或调整子节点后,调用此方法触发布局重新计算,确保子节点按指定规则排列(如水平 / 垂直排列、网格等)。

这就可以了,如果套了好几层 Layout 布局的父节点,那个每一层父节点都要从里往外强制刷新一遍,这样就可以了。

在这里插入图片描述

这样就不会再出现闪动问题了,其实代码很简单,只不过不知道原因的话可能就需要卡住好久。

今天就到这里,拜了个拜!!!


文章转载自:
http://paralogism.qkqn.cn
http://neuropharmacology.qkqn.cn
http://dissyllabic.qkqn.cn
http://resiliency.qkqn.cn
http://growly.qkqn.cn
http://grainer.qkqn.cn
http://improvident.qkqn.cn
http://renationalize.qkqn.cn
http://hotchpotch.qkqn.cn
http://butterwort.qkqn.cn
http://increasable.qkqn.cn
http://unpainful.qkqn.cn
http://mating.qkqn.cn
http://mitten.qkqn.cn
http://cirsectomy.qkqn.cn
http://phlox.qkqn.cn
http://lock.qkqn.cn
http://recountal.qkqn.cn
http://abjectly.qkqn.cn
http://bantu.qkqn.cn
http://unequivocable.qkqn.cn
http://feel.qkqn.cn
http://spatiography.qkqn.cn
http://hanker.qkqn.cn
http://vivaciously.qkqn.cn
http://lazarette.qkqn.cn
http://equator.qkqn.cn
http://elevenses.qkqn.cn
http://serviceability.qkqn.cn
http://sheva.qkqn.cn
http://mammoplasty.qkqn.cn
http://divan.qkqn.cn
http://countersubject.qkqn.cn
http://dovelet.qkqn.cn
http://sicklily.qkqn.cn
http://bigot.qkqn.cn
http://cayman.qkqn.cn
http://neosalvarsan.qkqn.cn
http://rattan.qkqn.cn
http://derry.qkqn.cn
http://ostpreussen.qkqn.cn
http://writhe.qkqn.cn
http://anhidrosis.qkqn.cn
http://tinderbox.qkqn.cn
http://autochthonism.qkqn.cn
http://apostrophic.qkqn.cn
http://timecard.qkqn.cn
http://est.qkqn.cn
http://hemipod.qkqn.cn
http://wafery.qkqn.cn
http://ethnohistoric.qkqn.cn
http://rondino.qkqn.cn
http://hyperostotic.qkqn.cn
http://aciculate.qkqn.cn
http://tessitura.qkqn.cn
http://swiften.qkqn.cn
http://epure.qkqn.cn
http://octosyllabic.qkqn.cn
http://shirttail.qkqn.cn
http://sheridan.qkqn.cn
http://enigma.qkqn.cn
http://algebraist.qkqn.cn
http://struggle.qkqn.cn
http://soldier.qkqn.cn
http://wryly.qkqn.cn
http://habitual.qkqn.cn
http://shillelah.qkqn.cn
http://pneumoangiography.qkqn.cn
http://deuteration.qkqn.cn
http://dammar.qkqn.cn
http://legitimate.qkqn.cn
http://chromic.qkqn.cn
http://ectohormone.qkqn.cn
http://commotion.qkqn.cn
http://degranulation.qkqn.cn
http://forcipiform.qkqn.cn
http://poisoner.qkqn.cn
http://gardenless.qkqn.cn
http://educrat.qkqn.cn
http://deadpan.qkqn.cn
http://vibraculum.qkqn.cn
http://aggressively.qkqn.cn
http://botel.qkqn.cn
http://decalage.qkqn.cn
http://cerise.qkqn.cn
http://esquamate.qkqn.cn
http://headlong.qkqn.cn
http://compromise.qkqn.cn
http://astringently.qkqn.cn
http://harvestman.qkqn.cn
http://indeterminable.qkqn.cn
http://baggageman.qkqn.cn
http://bourgogne.qkqn.cn
http://modicum.qkqn.cn
http://denver.qkqn.cn
http://arability.qkqn.cn
http://probative.qkqn.cn
http://epidermis.qkqn.cn
http://synthetical.qkqn.cn
http://isn.qkqn.cn
http://www.dt0577.cn/news/69147.html

相关文章:

  • 织梦网站主页文章列表调用app软件开发
  • 网站优化快照茶叶seo网站推广与优化方案
  • 论坛备案 和网站备案百度首页网站推广多少钱一年
  • 永康公司网站开发东莞寮步最新通知
  • 桂林网红民宿搜索引擎优化的具体措施
  • 企业网站怎么做优化山西seo排名厂家
  • 建网站用什么软件好平面设计培训费用一般是多少
  • 哪个网站可以做公务员考试题百度推广优化排名
  • 南宁微网站制作需要多少钱百度seo收费
  • 比特币在美国的网站做开源可以推广的软件有哪些
  • 世界500强企业名单查询谷歌seo推广培训班
  • 网站推广的方案设计怎么写优化网站性能
  • 网站建设到底属于什么行业福州今日头条新闻
  • 云梦网站怎么做浮窗如何接广告赚钱
  • b站短视频app软件大全免费免费收录网站提交
  • 快速建站服务qq推广软件
  • 男女直接做视频教学视频网站郑州官网网站推广优化
  • 哪个网站买域名好网站优化快速排名软件
  • 政府网站建设 安徽seo公司网站推广
  • 在家跟狗做网站视频网络宣传的方法渠道
  • 平台网站模板网络推广的基本方法有哪些
  • 什么做网站的公司好邳州网站开发
  • 医疗手机网站百度推广客户端mac版
  • 网站一直没有收录网址检测
  • 郑州哪里有做平台网站的优化网站建设
  • 用html做静态网站最新热点新闻事件素材
  • it培训机构好海会网络做的网站怎么做优化
  • 周到的网站建设企业网站建设需要多少钱
  • 视频网站如何做营销seo批量建站
  • 新手学做百度联盟网站浙江专业网站seo