文本资产是导入文本文件的格式。将文本文件拖放到项目文件夹中时,它将被转换为文本资产。支持的文本格式为
请注意,脚本文件也视为文本资产,用于使用 AssetDatabase.FindAssets 函数,因此当使用“t:TextAsset”过滤器时,它们也将包含在结果列表中。
属性 | 功能 |
---|---|
文本向用户显示的非交互式文本。这可用于为其他 GUI 控件提供标题或标签,或显示说明或其他文本。 更多信息 请参见 词汇表 |
资产的完整文本,作为一个字符串。 |
文本资产是一个非常专业的用例。它对于在构建游戏时将来自不同文本文件的文本放入游戏中非常有用。可以编写一个简单的 .txt 文件,并将文本非常轻松地带入游戏。它不适用于在运行时生成文本文件。为此,您需要使用传统的输入/输出编程技术来读取和写入外部文件。
考虑以下场景。您正在制作一款传统的文字冒险游戏。为了生产简便,您希望将游戏中的所有文本分解成不同的房间。在这种情况下,您将创建一个包含将在一个房间中使用的所有文本的文本文件。从那里,很容易引用您进入的房间的正确文本资产。然后通过一些定制的解析逻辑,您可以非常轻松地管理大量文本。
文本资产的一个特殊功能是它可以用来存储二进制数据。通过将文件扩展名更改为 .bytes,它可以被加载为文本资产,并且可以通过 bytes 属性访问数据。
例如,将一个 jpeg 文件放入 Resources 文件夹中,并将扩展名更改为 .bytes,然后使用以下脚本代码在运行时读取数据
//Load texture from disk
TextAsset bindata = Resources.Load("Texture") as TextAsset;
Texture2D tex = new Texture2D(1,1);
tex.LoadImage(bindata.bytes);
请注意,扩展名为 .txt 和 .bytes 的文件将分别被视为文本文件和二进制文件。不要尝试使用 .txt 扩展名存储二进制文件,因为这会在尝试从中读取数据时产生意外行为。
TextAsset