egret连连看项目实战之三(解析配置表)

简介: egret连连看项目实战之三(解析配置表)
推荐阅读:

       这是一款连连看,如果只能连连,那估计大家看看就没兴趣了。如果在里面加上一些场景式对话,那么可能就会有意思许多。

       今天就带大家学习Unity解析配置表,显示配置表信息,即对话文字。
用excel写好对话信息,如下:
在这里插入图片描述
       百度“Excel转txt”,将上卖弄的excel格式转换成txt类型文件,命名为dialog。

       下载LitJson.dll文件,在Unity项目Assets目录下创建Plugins文件夹,并将下载好的LitJson.dll文件并放入其中。新建Configs文件夹并将dialog.txt文件放入其中。

       在unity中新建场景,并搭建如下对话UI,保存并命名为DialogScene
在这里插入图片描述
新建C#脚本并命名为ParseConfigs,写下如下代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;
using System.IO;
using UnityEngine.UI;

public class ParseConfigs : MonoBehaviour {

    private Text dialogText;
    private JsonData jd;
    private int index=0;
    // Use this for initialization
    void Awak()
    {
        
    }
    void Start () {
        dialogText =GetComponent<Text>();
        StreamReader sr = File.OpenText("Assets/Resources/Configs/Dialog.txt");
        string strline = sr.ReadToEnd();
        jd = JsonMapper.ToObject(strline);//jd是一个数组数组中的每个元素是一个Object
        dialogText.text = (string)jd[index]["dialogText"];

    }

    // Update is called once per frame
    void Update () {

    }
    public void NextDialog()
    {
        index++;
        string ob = (string)jd[index]["ID"];//箱操作
        int id= int.Parse(ob);转换成int类型
        if (id > (GameManager.Instance.currDialog+1) * 1000)
        {
            //当前对话结束
            return;
        }
        else
        {
            dialogText.text = (string)jd[index]["dialogText"];
        } 
      }
}

       注意:上面代码中,jd是一个数组,数组中的每个元素都是一个object对象。取数组中的“ID”字段时,jdindex是一个引用类型,需要转换成值类型(用来判断当前对话是否应该结束),此处需要使用拆箱操作来转换成string类型,然后强制转换成int类型。

       上面的NextDialog()方法是点击事件需要调用的方法,我们设定点击对话文字,开始当前场景的下一对话,方法与文章连连看项目实战之一(搭建场景)中给按钮添加点击事件的方法相似。

       这里只实现了大致的方法,还有很多细节需要你慢慢优化,比如两人对话,一方说话时,另一方人物应该隐藏,隐藏方法为:setActive(false);同理显示方法为:setActive(true)。当前说话人物名字,都可以根据配置表取得。

相关文章
|
6月前
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
4月前
|
域名解析 应用服务中间件 Shell
使用nps配置内网穿透加域名解析
使用nps配置内网穿透加域名解析
623 78
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
7月前
|
域名解析 网络协议 Ubuntu
DHCP与DNS的配置
通过这些步骤,您可以在Linux环境下成功配置和验证DHCP和DNS服务。希望这些内容对您的学习和工作有所帮助。
665 27
|
7月前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
734 12
|
7月前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
10月前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
1849 1
|
11月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
11月前
|
机器学习/深度学习 调度
mmseg配置解析 Polynomial Decay 多项式衰减
Polynomial Decay(多项式衰减)是一种常用的学习率调度方法,通过多项式函数逐步减少学习率,帮助模型更好地收敛。公式为:\[ lr = (lr_{initial} - \eta_{min}) \times \left(1 - \frac{current\_iter}{max\_iters}\right)^{power} + \eta_{min} \]。参数包括初始学习率、最小学习率、当前迭代次数、总迭代次数和衰减指数。适用于需要平滑降低学习率的场景,特别在训练后期微调模型参数。
296 0
mmseg配置解析 Polynomial Decay 多项式衰减
|
11月前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
2146 1

热门文章

最新文章

推荐镜像

更多
  • DNS