返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >unity 如何获取Text组件里text内容的长度
  • 551
分享到

unity 如何获取Text组件里text内容的长度

2024-04-02 19:04:59 551人浏览 薄情痞子
摘要

我就废话不多说了,大家还是直接看代码吧~ /// <summary> /// 计算字符串在指定text控件中的长度 /// </summary&

我就废话不多说了,大家还是直接看代码吧~


/// <summary>
    /// 计算字符串在指定text控件中的长度
    /// </summary>
    /// <param name="message"></param>
    /// <returns></returns>
    int CalculateLengthOfText(string message,Text tex)
    {
        int totalLength = 0;
        Font myFont = tex.font;  //chatText is my Text component
        myFont.RequestCharactersInTexture(message, tex.fontSize, tex.fontStyle);
        CharacterInfo characterInfo = new CharacterInfo(); 
        char[] arr = message.ToCharArray(); 
        foreach (char c in arr)
	{
            myFont.GetCharacterInfo(c, out characterInfo, tex.fontSize); 
            totalLength += characterInfo.advance;
        } 
        return totalLength;
    }

补充:用Unity的TextAsset读取TXT文档内容,将物品信息存入字典中

Text Asset 文本资源

Text Assets are a fORMat for imported text files. When you drop a text file into your Project Folder, it will be converted to a Text Asset. The supported text formats are:

文本资源是导入的文本文件的一个格式。当你拖入一个文本文件到你的项目时,他会被转换为文本资源。支持的文本格式有:

.txt .html .htm .xml .bytes

Properties 属性

Text

The full text of the asset as a single string.

物品属性分析

之后需要新建一个文本txt来存放物品的属性,这里以药品为例

TXT文档内容

每一行文本对应一种物品,用逗号分隔,每个值对应属性表里的每一列属性。

之后新建C#脚本解析文本内容


private TextAsset objectsInfoListText; // 新建TextAsset变量
private Dictionary<int, ObjectInfo> objectInfoDict = new Dictionary<int,ObjectInfo>();
void Awake()
{
    objectsInfoListText = Resources.Load("ObjectsInfoList") as TextAsset; // 从Resouces的path中读取到文件
    ReadInfo();
}
void ReadInfo()
{
     string text = objectsInfoListText.text;  // 将文本内容作为字符串读取
     string[] objInfoArray = text.Split('\n'); // 以\n为分割符将文本分割为一个数组
     foreach (string str in objInfoArray)  // 遍历每一行并将每一个药品的值放入类对象中,并存入字典
     {
         ObjectInfo info = new ObjectInfo();
         string[] propertyArray = str.Split(',');
         int id = int.Parse(propertyArray[0]);
         string name = propertyArray[1];
         string icon_name = propertyArray[2];
         string str_type = propertyArray[3];
         ObjectType type = ObjectType.Drug;
         switch (str_type)
         {  
             case "Equip":
                 type = ObjectType.Equip;
                 break;
             case "Mat":
                 type = ObjectType.Mat;
                 break;
             case "Drug":
                 type = ObjectType.Drug;
                 break;
         }
         info.id = id; info.name = name; 
         info.icon_name = icon_name; info.type = type;
         if (type == ObjectType.Drug)
         {
             int hp = int.Parse(propertyArray[4]);
             int mp = int.Parse(propertyArray[5]);
             int price_sell = int.Parse(propertyArray[6]);
             int price_buy = int.Parse(propertyArray[7]);
             info.hp = hp; info.mp = mp; info.price_sell = price_sell; info.price_buy = price_buy;
         }
         // 将物品信息存储到字典中
         objectInfoDict.Add(id, info);
     }
}
public enum ObjectType
{
    Drug,
    Equip,
    Mat,
};
public class ObjectInfo 
{
    public int id;
    public string name;
    public string icon_name;
    public ObjectType type;
    public int hp;
    public int mp;
    public int price_sell;
    public int price_buy;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: unity 如何获取Text组件里text内容的长度

本文链接: https://lsjlt.com/news/123432.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • unity 如何获取Text组件里text内容的长度
    我就废话不多说了,大家还是直接看代码吧~ /// <summary> /// 计算字符串在指定text控件中的长度 /// </summary&...
    99+
    2024-04-02
  • 使用unity获取Text组件里text内容长度的案例
    小编给大家分享一下使用unity获取Text组件里text内容长度的案例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码如下:/// <summary>    ...
    99+
    2023-06-14
  • SQLServer数据库中如何获取TEXT字段内容长度
    本篇文章给大家分享的是有关SQLServer数据库中如何获取TEXT字段内容长度,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  SQLSer...
    99+
    2024-04-02
  • uniapp怎么获取text里的内容
    UniApp是一款跨平台开发工具,通过它可以用Vue.js编写一次代码,在多个平台上进行快速应用开发。在UniApp应用中,获取text里面的内容可能是很常见的需求,那么本文将回答uniapp怎么获取text里面的内容的问题,帮助大家更好地...
    99+
    2023-05-14
  • MSSQL数据库中怎么获取TEXT字段的内容长度
    这篇文章将为大家详细讲解有关MSSQL数据库中怎么获取TEXT字段的内容长度,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。DATALENGTH用来返回任何表...
    99+
    2024-04-02
  • unity里获取text中文字宽度并截断省略的操作
    前言 在unity的ugui中Text控件,有时我们会有各种各样的需求,比如类似html中css的text-overflow属性,希望一段文字如果不够长就全显示,如果特别长就截断并且...
    99+
    2024-04-02
  • unity 如何获取button文本的内容
    如下就可以获取button中的文本内容 using System.Collections.Generic; using UnityEngine; using UnityEngin...
    99+
    2024-04-02
  • php如何获取数组长度
    在php中使用count()函数获取数组的长度:count()函数是用于返回数组中元素的数目,语法:count(array,mode);在php中使用count()函数获取数组的长度,具体方法如下:count()函数作用:php中count...
    99+
    2024-04-02
  • javascript如何获取数组长度
    这篇“javascript如何获取数组长度”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“javascript如何获取数组长度”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所...
    99+
    2023-06-06
  • string数组长度如何获取
    要获取字符串数组的长度,可以使用数组的length属性。例如,如果有一个名为arr的字符串数组,则可以使用arr.length来获取...
    99+
    2023-10-26
    string
  • php中如何获取数组长度
    在 PHP 中,有多种方式可以获取一个数组的长度。这些方法都很简单,但可能对初学者来说并不是很明显,因此在本篇文章中,我将介绍几种常用的方法和技巧来获取一个 PHP 数组的长度。方法一:使用 count 函数PHP 提供了一个内置函数用于获...
    99+
    2023-05-19
  • js中如何获取JSON数组的长度
    目录js获取JSON数组的长度js获取json的长度,不需要循环总结js获取JSON数组的长度 假设现在有一个json的数组: var json={a:1,b:2,c:3,d:4};...
    99+
    2023-05-16
    js获取JSON数组长度 js JSON数组长度 获取JSON数组长度
  • vue子组件如何获取父组件的内容(props属性)
    目录子组件如何获取父组件的内容props属性vue父→子组件的props传值需求1需求2子组件如何获取父组件的内容 props属性 组件实例的作用域是孤立的。这意味着不能并...
    99+
    2024-04-02
  • java如何获取arraylist的长度
    要获取ArrayList的长度,可以使用ArrayList的size()方法。该方法返回ArrayList中元素的个数。示例代码如下...
    99+
    2023-09-23
    java
  • java如何获取list的长度
    在Java中,你可以使用`size()`方法来获取List的长度。例如:```List list = new ArrayList()...
    99+
    2023-09-11
    java
  • vue子组件怎么获取父组件的内容
    本篇内容介绍了“vue子组件怎么获取父组件的内容”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!子组件如何获取父组件的内容props属性组件实...
    99+
    2023-06-30
  • php如何获取json里面内容
    本篇内容主要讲解“php如何获取json里面内容”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何获取json里面内容”吧!$a = '{"statu...
    99+
    2023-06-20
  • java如何获取properties文件内容
    在Java中,可以使用Properties类来获取properties文件的内容。具体方法如下:1. 创建Properties对象并...
    99+
    2023-09-13
    java
  • php中如何获得数组的长度
    这篇文章主要为大家展示了“php中如何获得数组的长度”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php中如何获得数组的长度”这篇文章吧。获得数组的长度 - c...
    99+
    2024-04-02
  • qt如何获取lineedit的内容
    您可以使用`text()`方法来获取QLineEdit的内容。下面是一个例子:```QLineEdit *lineEdit = ne...
    99+
    2023-09-25
    qt
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作