广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Unity 读取文件 TextAsset读取配置文件方式
  • 426
分享到

Unity 读取文件 TextAsset读取配置文件方式

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

1 支持文件类型 .txt .html .htm .xml .bytes .JSON .csv .yaml .fnt 2 寻找文件 1 //Load texture from d

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] //一定要有,同时不能继承MonoBehaviour
public 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 initialization
void Start () {
        print(Config._Data.Num1);
        print(Config._Data.String2);
    }
// Update is called once per frame
void 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]  //一定要有,同时不能继承MonoBehaviour
public 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 initialization
void Start () {
        StartCoroutine("load");
        Invoke("LoadMessage", 1f);
}
// Update is called once per frame
void 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);
    }
}

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

--结束END--

本文标题: Unity 读取文件 TextAsset读取配置文件方式

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

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

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

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

下载Word文档
猜你喜欢
  • Unity 读取文件 TextAsset读取配置文件方式
    1 支持文件类型 .txt .html .htm .xml .bytes .json .csv .yaml .fnt 2 寻找文件 1 //Load texture from d...
    99+
    2022-11-12
  • 怎么在Unity中使用TextAsset读取配置文件
    这篇文章将为大家详细讲解有关怎么在Unity中使用TextAsset读取配置文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1 支持文件类型.txt.html.htm.xml.bytes....
    99+
    2023-06-14
  • springboot配置文件读取pom文件信息方式
    目录配置文件读取pom文件信息解决的问题解决修改后的写法maven打包命令可能会出现的一些问题Pom文件依赖配置说明scope依赖范围配置文件读取pom文件信息 解决的问题 spri...
    99+
    2022-11-13
  • .NETCore读取配置文件
    1. 说明 默认情况下读取配置Configuration的默认优先级:ConfigureAppConfiguration(自定义读取)>CommandLine(命令行参数)&g...
    99+
    2022-11-13
  • ASP.NETCore读取配置文件
    ASP.NET Core 中,可以使用 ConfigurationBuilder 对象来构建。 主要分为三部:配置数据源 -> ConfigurationBuilder -&g...
    99+
    2022-11-13
  • Python读取配置文件
    文章目录 Python读取配置文件一、 yaml1、 准备2、 操作数据2.1 读取数据2.2 写入数据 二、 ini1、准备2、 操作数据2.1 读取数据2.2. 写数据 ...
    99+
    2023-09-03
    python 开发语言
  • ResourceBundle类:读取配置文件
    ResourceBundle类是一个用于读取配置文件的工具类。它可以从类路径或文件系统中加载配置文件,并提供了一些方便的方法来获取配...
    99+
    2023-09-23
    文件
  • python读取yaml配置文件
    1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件,看了yaml后,发现这个更直观,更方便,有点类似...
    99+
    2023-01-31
    配置文件 python yaml
  • Python3 读取 ini 配置文件(
    【背景】  Windows 的记事本会给 UTF-8 文件添加 BOM 头,很烦,搞个通用的读取配置文件的代码。可能报这种错误:configparser.MissingSectionHeaderError: File contains no...
    99+
    2023-01-31
    配置文件 ini
  • Python3 读取 toml 配置文件
    【吐槽】    先吐槽一下其他几个配置文件。ini:表达能力不够,比如不能表达列表等结构;没有官方注释符号,虽然一般以分号作为注释符号。json:没有官方注释符号,虽然某些第三方包提供了注释结构。yaml:语法比较复杂,可读性不太高。【to...
    99+
    2023-01-31
    配置文件 toml
  • Java读取Properties配置文件的6种方式
    Java读取Properties的方式 项目结构:经典的maven项目结构 配置文件1和2内容一致: jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=mysql://localhost:3306/...
    99+
    2023-08-16
    java
  • ASP.NET CORE读取json格式配置文件
    目录一、在Startup类中读取json配置文件1、使用Configuration直接读取2、使用IOptions接口1、定义实体类2、修改json文件3、在StartUp类里面配置...
    99+
    2022-11-13
  • SpringBootyml配置文件读取方法详解
    目录yaml介绍yaml语法规则yaml数据读取Environment读取yaml全部属性数据自定义对象封装指定数据yaml介绍 YAML(YAML Ain't Markup...
    99+
    2022-11-13
    SpringBoot读取yml配置 SpringBoot yml读取
  • .NET Core读取配置文件的方法
    配置文件是每个项目最基础的部分,也是不可或缺的部分,比如:数据库连接、中间件属性等常见的配置。 今天这篇文章主要内容就是,在.Net Core项目中怎样去读取配置文件并使用。 提前准...
    99+
    2022-11-12
  • springboot怎么读取配置文件
    在Spring Boot中,可以通过`@Value`注解、`Environment`接口、`@ConfigurationProper...
    99+
    2023-10-25
    springboot
  • 如何读取Flex配置文件
    这篇文章主要介绍了如何读取Flex配置文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Flex在运行时如何读取Flex配置文件Flex简介AdobeFlex是为满足希望开发...
    99+
    2023-06-17
  • java如何读取配置文件
    Java中可以使用java.util.Properties类来读取配置文件。Properties类提供了一些方法来读取和操作属性文件...
    99+
    2023-08-08
    java
  • Python怎么读取配置文件
    这篇文章主要讲解了“Python怎么读取配置文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么读取配置文件”吧!一、 yaml1、 准备支持的数据类型:字典、列表、字符串、布...
    99+
    2023-07-05
  • shell怎么读取配置文件
    本篇内容介绍了“shell怎么读取配置文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在编写启动脚本时,涉及到读取配置文件,特地记录下sh...
    99+
    2023-07-06
  • thinkphp5如何读取配置文件
    本篇内容介绍了“thinkphp5如何读取配置文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在使用ThinkPHP5框架时,我们通常需要...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作