今天要做的事情就是让系统可以分辨
哪段文字=角色,哪段文字=心情,哪段文字=对话内容!
进行文字标记,撷取文字档案内的讯息,为了能更精确的掌握对话资讯,才能做对应的互动,取用正确的图片。
第一步要先建立自己的标记规则,像标记式语言那样可以用某些符号表达某一种讯息,那我这次做很简单的标记,只要能分出是谁说话、甚麽心情、说甚麽话三种资讯。
结构:人物:心情*说话内容
例句:
决定好标记规则之後,这套语言系统的对话文件就依照自己的规则来写吧!
第二步将规则写成类别,然後将取得标记的资料归类。
依造标记规则,创立对话资讯类别,取名RolePart
public class RolePart //类别,专门储存对话资料
{
public string RoleName { get; set; } //人物
public string RoleMood { get; set; } //心情
public string RoleContent { get; set; }//说话内容
}
get、set是属性的写法,详情请参考C#手册
第三步使用List来存取class物件,List中的每一项就是一个物件
//新增一个清单
List<RolePart> RolePartList = new List<RolePart>();
//新增清单项目,用物件添加
RolePartList.Add(new RolePart() { RoleName = "人物", RoleMood ="心情", RoleContent="说话内容"});
unity预设脚本本身就是一个类别,所以依样是类别的规则要写在同级。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//自订义类别
public class RolePart {
public string RoleName { get; set; } //人物
public string RoleMood { get; set; } //心情
public string RoleContent { get; set; }//说话内容
}
//unity预设好,继承自MonoBehaviour的类别
public class Model : MonoBehaviour {
//导入文件
public TextAsset textFile;
//新增一个清单
private List<RolePart> RolePartList = new List<RolePart>();
//得到文件文字的方法
void GetTextFormFile(TextAsset file){
//确保清单是空的
**RolePartList*.Clear();*
//读取文件,以行为单位,用字串阵列收
string[] lineData = file.text.Split('\n');
//将阵列内的文件文字分成物件并储存至清单
foreach (var line in lineData) {
//用:和*断句,并且分别储存至阵列内,将会得到人物[0]、心情[1]、对话内容[2]
char[] SplitChar ={':','*'};
string[] lineWord = line.Split(SplitChar);
//新增物件至清单,物件由阵列组成
RolePartList.Add(new RolePart() { RoleName = lineWord[0], RoleMood = lineWord[1], RoleContent=lineWord[2]});
}
//印出结果
foreach (var line in RolePartList) {
Debug.Log(line.RoleName+":"+line.RoleContent+" (心情:"+line.RoleMood +") ");
}
}
void Start() {
GetTextFormFile(textFile);
Debug.Log("end");
}
}
输出结果
<<: 连续 30 天 玩玩看 ProtoPie - Day 9
>>: Two Sum 演算法初阶题,Ruby 30 天刷题修行篇第九话
今天要来介绍的是 NiFi Expression Language (以下简称NEL)。在前一篇我们...
在第一天我们建立好Kali的测试环境後,看到玲琅满目的工具可以使用,首先一定想到两个问题: 先用哪个...
说了好几天的概念,再不动手真的会睡着。让我们先来本机炸一炸,加深我们的学习动机。 安装前,先注意两大...
今天我们来谈一点轻松的功能 - GitHub Wiki 身为开发人员,多多少少接触一些文件,可能是与...
前言 今天会介绍一些 flask 的基本函式,所以我们还没有正式开始写专案。这些基本的函式十分常用,...