using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.IO;
public class GoBehaviourScript : MonoBehaviour {
string[] SentWords = null;
///<summary>
///协程读取文件
///</summary>
IEnumerator LoadWWW()
{
WWW www;
if (Application.platform == RuntimePlatform.Android)
{
www = new WWW(Application.streamingAssetsPath + "/" + "Senticaswords.txt");
}
else
{
www = new WWW("file://" + Application.streamingAssetsPath + "/" + "Senticaswords.txt");
}
yield return www;
if(!(www.Equals("") || www.Equals(null)))
{
//Debug.Log(www.text);
SentWords = www.text.Split('、');
}
}
void Start()
{
StartCoroutine("LoadWWW");
transform.GetComponent<InputField>().onValueChange.AddListener(OnValueChanged);
}
public void OnValueChanged(string t)
{
if(SentWords == null)
{
return;
}
foreach (string ssr in SentWords)
{
if (t.Contains(ssr))
{
if (!ssr.Equals(""))
{
Debug.Log("包含敏感词:" + ssr + "请替换");
string stt = transform.GetComponent<InputField>().text;
int length = ssr.ToCharArray().Length;
string s = "";
for (int i = 0; i < length; i++)
{
s += "*";
}
Debug.Log(stt.Replace(ssr, s));
stt = stt.Replace(ssr, s);
transform.GetComponent<InputField>().text = stt;
}
}
//Debug.Log(ssr);
}
}
}
using System.Collections;
using UnityEngine.UI;
using System.IO;
public class GoBehaviourScript : MonoBehaviour {
string[] SentWords = null;
///<summary>
///协程读取文件
///</summary>
IEnumerator LoadWWW()
{
WWW www;
if (Application.platform == RuntimePlatform.Android)
{
www = new WWW(Application.streamingAssetsPath + "/" + "Senticaswords.txt");
}
else
{
www = new WWW("file://" + Application.streamingAssetsPath + "/" + "Senticaswords.txt");
}
yield return www;
if(!(www.Equals("") || www.Equals(null)))
{
//Debug.Log(www.text);
SentWords = www.text.Split('、');
}
}
void Start()
{
StartCoroutine("LoadWWW");
transform.GetComponent<InputField>().onValueChange.AddListener(OnValueChanged);
}
public void OnValueChanged(string t)
{
if(SentWords == null)
{
return;
}
foreach (string ssr in SentWords)
{
if (t.Contains(ssr))
{
if (!ssr.Equals(""))
{
Debug.Log("包含敏感词:" + ssr + "请替换");
string stt = transform.GetComponent<InputField>().text;
int length = ssr.ToCharArray().Length;
string s = "";
for (int i = 0; i < length; i++)
{
s += "*";
}
Debug.Log(stt.Replace(ssr, s));
stt = stt.Replace(ssr, s);
transform.GetComponent<InputField>().text = stt;
}
}
//Debug.Log(ssr);
}
}
}
这篇博客介绍了如何在Unity3D中利用Lua协程来实现敏感词过滤功能。通过读取文本文件获取敏感词列表,然后监听InputField的输入变化,当检测到输入含有敏感词时,自动替换为星号。该方法适用于Android和非Android平台。
1306

被折叠的 条评论
为什么被折叠?



