UGUI获取Text宽高

这篇具有很好参考价值的文章主要介绍了UGUI获取Text宽高。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:

版本:2020.3.5

1、Unity获取Text的sizeDetal高度总是不正确,每次都是获取上一次赋值text的sizeDetal结果。

获取当前的sizeDetal

1、下面这种方式是在网上看到的,是预获取Text宽高的值,我测试了下不能正确获取,可能是缺少别的设置。


    private Vector2 Getsize(Text tar)
    {
        var textGenerator = new TextGenerator();

        var setting = new TextGenerationSettings();
        var font = tar.font;
        setting.font = font;
        setting.fontSize = tar.fontSize;
        setting.lineSpacing = 1;// tar.lineSpacing;
        setting.scaleFactor = 1;// tar.pixelsPerUnit;
        setting.verticalOverflow = VerticalWrapMode.Overflow;
        setting.horizontalOverflow = HorizontalWrapMode.Overflow;
        return new Vector2(textGenerator.GetPreferredWidth(tar.text, setting),
            textGenerator.GetPreferredHeight(tar.text, setting));
    }

2、可以直接使用ContentSizeFitter。在Text上添加这个脚本。设置VerticalFit自适应。

unity 代码获取text的高,unity,unity

本身这个脚本就是自动计算宽高结果,但是要等下一帧才能获取到。可以主动调用他的计算方法,让他立即计算。

tar.GetComponent<ContentSizeFitter>().SetLayoutVertical();

这个方法会让Text的高度立即计算。然后再去获取sizeDelta就正确了。文章来源地址https://www.toymoban.com/news/detail-622966.html

到了这里,关于UGUI获取Text宽高的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity中UGUI的Text实现超链接点击的解决方案

    1、同一个Text内可以实现多个不同字符区域的点击; 2、适配了中文、英文、韩文、日文、阿拉伯语等,更多语种待测试; 1、文本框内使用富文本,见截图 2、要使该文本的超链接功能生效,调用即可: 可以设置回调的灵活性就比较高了,各位自己扩展 https://github.com/Panda00

    2024年02月07日
    浏览(35)
  • unity ugui text 超链接和下划线,支持部分富文本格式

    unity版本:2021.3.6f1 局限性: 1.测试发现不能使用 size 富文本标签, 2.同一文本不能设置不同颜色的超链接文本 其它:代码中注释掉使用innerTextColor的地方,可以使用富文本设置超链接颜色, 但是下划线是文本本身颜色 项目需要用到该功能, 搜索和参考了很多文章,要么不支

    2024年02月03日
    浏览(34)
  • Unity实用功能之UGUI的Text实现颜色渐变详解 Unity3D

    在Unity3D中,UGUI是一种用于创建用户界面的强大工具。其中的Text组件用于显示文本内容,而通过实现颜色渐变效果,可以使文本更加生动和吸引人。本文将详细介绍如何在Unity中使用UGUI的Text组件实现颜色渐变效果,并提供相应的源代码。 首先,我们需要创建一个空的GameObj

    2024年02月02日
    浏览(42)
  • 【100个 Unity实用技能】☀️ | UGUI Text中加入超链接文本,可直接点击跳转

    老规矩,先介绍一下 Unity 的科普小知识: Unity 是 实时3D互动内容创作和运营平台 。 包括 游戏开发 、 美术 、 建筑 、 汽车设计 、 影视 在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和

    2024年02月08日
    浏览(37)
  • Unity 代码控制Text文本换行

    Unity 要通过代码控制Text文本换行,实现方法比较简单,无论是传统的Text,还是TMP文本,都是通过在字符串需要换行的地方加上换行符【n】。 不过在Text属性栏中要确保设置自动换行模式: 如传统的设置如图: 其实无论哪种,创建的时候换行模式保持默认就行。 代码参考如

    2024年02月03日
    浏览(61)
  • 【UGUI】二、Text(TMP) 文本

    点击访问 文本 (Text) 点击观看 Text 轮廓 (Outline) 和 阴影 (Shadow) 组件是额外添加的常用组件,在 UI - Effects 下 Unity中要显示文本,我们一般是用UGUI的 Text 组件,但是 Text 渲染的字体不是矢量的,所以靠近的时候会看到锯齿和模糊;于是乎 TextMeshPro 应运而生,使用它渲染的字体

    2024年02月13日
    浏览(37)
  • [unity]如何通过代码获取UI宽高和屏幕宽高

    1.获取UI宽高 首先,使用GetComponentRectTransform().sizeDelta获取,但是这样会有问题,会跟锚点设置有关,改变设置后获取不对 只适用于MiddleCenter 所以又看了API,可以使用GetComponentRectTransform().rect获取 打印如下:  2.获取屏幕宽高 宽度: UnityEngine.Screen.width 高度: UnityEngine.Screen.

    2024年02月17日
    浏览(32)
  • Unity 代码控制Text自适应文本高度

    在使用代码给Text赋值时,且文本有多段,并需要根据实际文本高度适配Text组件的高度时,可以使用以下方法: 设置前: 文本超出了组件框了。 设置后: 文本有多高,组件就有多高。

    2024年02月03日
    浏览(29)
  • Unity通过改变文本Rect长宽以及缩放来改善Text(Legacy)的清晰度思路,操作以及代码实现

    前情:在最近做的一个比较大的项目中,客户要求导入各种图片以及文字。在1920X1080的情况下是采用了42号字体,提供项目后得到的反馈却是字体太糊,经询问得知1920X1080分辨率并不是使用在电脑上,而是在屏幕特别大的仿真机上运行,贴近看确实很糊,但是这个项目使用的Text(L

    2024年01月25日
    浏览(53)
  • selenium元素操作(一):获取文本text

    1 分钟了解一个测开小知识: selenium 对元素进行操作(一):获取文本text :.text 例如: 想要获取到这里的文本内容 首先定位到元素: NR = driver.find_element_by_Xpath(\\\'//*[@id=\\\"s_xmancard_mine_new\\\"]/div[1]/div[2]/div/div[3]/div[1]/div[3]/a\\\') 然后使用获取元素的描述: NR_Text = NR.text

    2024年02月02日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包