iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在Unity中使用TextAsset读取配置文件
  • 601
分享到

怎么在Unity中使用TextAsset读取配置文件

2023-06-14 12:06:53 601人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关怎么在Unity中使用TextAsset读取配置文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1 支持文件类型.txt.html.htm.xml.bytes.

这篇文章将为大家详细讲解有关怎么在Unity中使用TextAsset读取配置文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1 支持文件类型

.txt

.html

.htm

.xml

.bytes

.JSON

.csv

.yaml

.fnt

2 寻找文件

1 //Load texture from disk

TextAsset bindata= Resources.Load("Texture") as TextAsset;        Texture2D tex = new Texture2D(1,1);        tex.LoadImage(bindata.bytes);

2 直接在编辑器中赋值

public TextAsset textFile;

3 配置文件通常分行配置属性

例如:

英雄名称,等级,生命,攻击

hero1,1,1,1        hero2,1,1,1    string[] lines = textFile.text.Split("\n"[0]); 可以读出属性        lines[0] = "英雄名称,等级,生命,攻击"        lines[1] = "hero1,1,1,1"        lines[2] = "hero2,1,1,1"

然后可以读出每条数据的具体属性

for (int i = 0; i < lines.Length - 2; i++) {            string[] parts = lines[i + 1].Split(","[0]);        }    parts[0] = "hero1" parts[1] = "1" parts[2] = "1" parts[2] = "1

补充:Unity加载TextAsset中的内容为空

需求需要从Resources目录下加载json文件,于是在目录下创建了个txt文本,然后修改后缀名为.Json,

用Resource.Load<TextAsset>() 发现TextAsset.text竟然为空,里面什么都没有,以为是.Json首字母大写的缘故,于是改为.json,结果还没有用,

新开工程却发现用脚本生成的json文件却是可以获取到的,再仔细检查发现选中json文件的时候属性面板竟然什么都没显示出来,于是怀疑json文件不正确没有被unity识别到,用vs高级保存选项发现文本竟然是GBK2312格式,改为UTF-8格式发现可以显示出来并能读取到text。

于是怀疑是创建txt文本时默认编码格式不正确,发现默认编码格式是ASCII格式,看来以后创建json的时候更要注意编码格式的问题了。

补充:Unity 简易读取配置文件内容(txt,懒人用)

翻以前别人写的一个项目,看到读取本地配置文件的,目前虽然不太懂,但是先放着,估摸以后牛B了就看懂了

首先自定义一个config类:

using UnityEngine;using System.Collections;using System;[Serializable] //一定要有,同时不能继承MonoBehaviourpublic class Config  {    public int Num1; //我文档里有2个int,2个string类型    public int Num2;    public string String1;    public string String2;    // Use this for initialization    void Start () {}    private static Config _data;    public static Config _Data    {        get        {            if (_data == null)            {                string json = System.IO.File.ReadAllText(Application.streamingAssetsPath + "/test.txt");                _data = JsonUtility.FromJson<Config>(json);            }            return _data;        }    }   }

然后在unity 的StreamingAssets文件夹下创建个test.txt

里面内容:(一定要有花括号)

{"Num1":30,"Num2":60,"String1":"aaa","String2":"bbb"}

然后再其他脚本里,直接调用就好了

例如:

using UnityEngine;using System.Collections;public class LoadConfig : MonoBehaviour {// Use this for initializationvoid Start () {        print(Config._Data.Num1);        print(Config._Data.String2);    }// Update is called once per framevoid Update () {}}

2017.3.27更新:自己又理解了一点

如果要读取网页某天气信息,但是不止一个花括号,分了几层,需要怎么做?

例如信息:

{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"18","WD":"东南风","WS":"1级","SD":"17%","WSE":"1","time":"17:05","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1011","rain":"0"}}

上面的就不多复述,大概思路就是再建立一个类保存二级信息

Config类修改如下(之前的全部删除):

using UnityEngine;using System.Collections;using System.Collections.Generic;using System;[Serializable]  //一定要有,同时不能继承MonoBehaviourpublic class Config  {    public Weatherinfo weatherinfo; //这里的weatherinfo 就是上面信息的第一层weatherinfo,建立父级保存信息(名字要对应天气的weatherinfo)}[Serializable]public class Weatherinfo //weatherinfo下的信息保存,类里的city 对应信息里的city,一次类推,我就写2个了;{    public string city;    public int cityid;}

再新建一个名字为LoadWWW的脚本,用于读取网络的数据:

using UnityEngine;using System.Collections;using System;public class LoadWWW : MonoBehaviour {    Config _config = new Config();// Use this for initializationvoid Start () {        StartCoroutine("load");        Invoke("LoadMessage", 1f);}// Update is called once per framevoid Update () {}    IEnumerator load()    {        WWW w = new WWW("Http://www.weather.com.cn/data/sk/101010100.html");//加载某网页数据,根据自己需求改        yield return w;        string json = w.text;         print(json);        _config = JsonUtility.FromJson<Config>(json);           }    void LoadMessage()    {        print(_config.weatherinfo.city);        print(_config.weatherinfo.cityid);    }}

关于怎么在Unity中使用TextAsset读取配置文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么在Unity中使用TextAsset读取配置文件

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在Unity中使用TextAsset读取配置文件
    这篇文章将为大家详细讲解有关怎么在Unity中使用TextAsset读取配置文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1 支持文件类型.txt.html.htm.xml.bytes....
    99+
    2023-06-14
  • Unity 读取文件 TextAsset读取配置文件方式
    1 支持文件类型 .txt .html .htm .xml .bytes .json .csv .yaml .fnt 2 寻找文件 1 //Load texture from d...
    99+
    2022-11-12
  • 怎么在VBS中读取配置文件的配置项
    怎么在VBS中读取配置文件的配置项?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。以下是一个读取配置文件的函数:本函数仅适用于以下格式的配置文件(.ini,.txt,.inf...
    99+
    2023-06-08
  • springboot怎么读取配置文件
    在Spring Boot中,可以通过`@Value`注解、`Environment`接口、`@ConfigurationProper...
    99+
    2023-10-25
    springboot
  • Python怎么读取配置文件
    这篇文章主要讲解了“Python怎么读取配置文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么读取配置文件”吧!一、 yaml1、 准备支持的数据类型:字典、列表、字符串、布...
    99+
    2023-07-05
  • shell怎么读取配置文件
    本篇内容介绍了“shell怎么读取配置文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在编写启动脚本时,涉及到读取配置文件,特地记录下sh...
    99+
    2023-07-06
  • 使用@Scheduled怎么读取动态配置文件
    使用@Scheduled怎么读取动态配置文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。@Scheduled读取动态配置文件application.yml配置文件得配置信息a...
    99+
    2023-06-15
  • 怎么用dom4j读取xml配置文件
    本篇内容主要讲解“怎么用dom4j读取xml配置文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用dom4j读取xml配置文件”吧!实现步骤以及源码:1、写xml文件读取类读取xml文档内...
    99+
    2023-06-03
  • 如何在C#中读取配置文件
    如何在C#中读取配置文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#读取配置文件1.了解配置文件概述:应 用程序配置文件是标准的 XML 文件,XML 标...
    99+
    2023-06-18
  • java怎么读取properties配置文件
    在Java中,可以使用`java.util.Properties`类来读取.properties配置文件。下面是一个简单的示例代码:...
    99+
    2023-09-20
    java
  • java怎么读取xml配置文件
    在Java中,读取XML配置文件有多种方法,其中比较常用的是使用DOM解析器或者SAX解析器。1. 使用DOM解析器:```java...
    99+
    2023-09-11
    java
  • java怎么读取yml配置文件
    在Java中读取YAML配置文件可以使用SnakeYAML库。以下是一个简单的示例,演示了如何读取YAML配置文件:1. 首先,确保...
    99+
    2023-08-18
    java
  • Android怎么读取并配置文件
    这篇文章主要讲解了“Android怎么读取并配置文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么读取并配置文件”吧!配置properties文件先创建properties...
    99+
    2023-06-05
  • 使用springboot在工具类中读取配置文件(ClassPathResource)
    springboot工具类中读取配置文件 1、创建配置文件(application.properties) spring.activemq.broker-url=tcp://lo...
    99+
    2022-11-12
  • 怎么使用PHP读取和修改配置文件
    这篇文章主要介绍了怎么使用PHP读取和修改配置文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用PHP读取和修改配置文件文章都会有所收获,下面我们一起来看看吧。一、读取配置文件1 打开配置文件使用PHP...
    99+
    2023-07-05
  • unity怎么使用文件流读取streamingassets下的资源
    这篇文章将为大家详细讲解有关unity怎么使用文件流读取streamingassets下的资源,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。目的:读取streamingassets下的文件中指定的一段字节...
    99+
    2023-06-14
  • springboot怎么读取外部配置文件
    Spring Boot可以通过使用@PropertySource注解来读取外部配置文件。以下是一种常见的方法:1. 创建一个配置类,...
    99+
    2023-09-25
    springboot
  • tomcat怎么读取外部配置文件
    Tomcat可以通过以下几种方式读取外部配置文件:1. 使用`context.xml`文件:可以在Tomcat的`conf/Cata...
    99+
    2023-09-28
    tomcat
  • Shell中怎么读取ini格式配置文件
    Shell中怎么读取ini格式配置文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。代码如下:[COM]KINGGOO = jb51.net其实这个作用没那么特...
    99+
    2023-06-09
  • 如何使用@PropertySource读取配置文件
    本篇内容主要讲解“如何使用@PropertySource读取配置文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用@PropertySource读取配置文件”吧!@PropertySou...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作