zoukankan      html  css  js  c++  java
  • Unity屏蔽emoji

    在开发网络游戏的聊天功能模块时,需要对字符长度进行限制以免发送超长包,不过因为玩家输入了emoji后会导致长度无法正常处理,此时偷懒的办法就是限制emoji的输入

    在UGUI的InputField进行输入时执行该方法:

    using UnityEngine;
    using UnityEngine.UI;
    using System.Collections;
    using System.Text.RegularExpressions;
    public class InputRestrictionEmoji : MonoBehaviour {

    InputField mtext;

    private void Start()
    {
    mtext = GetComponent<InputField>();
    if(mtext)
    {
    mtext.onValueChanged.AddListener(OnInputValue);
    }
    }

    void OnInputValue(string value)
    {
    try
    {
    string msg = mtext.text;
    //屏蔽emoji
    string result = Regex.Replace(msg, @"p{Cs}", "");
    mtext.text = result;
    }
    catch
    {
    Debug.Log("输入异常文字,出错");
    mtext.text = "";
    }
    }
    }

    如果还是不放心可以try-catch一下,记得还要限制一下字符长度啊

    特别感谢:

    EmojiText https://github.com/zouchunyi/EmojiText

    Unity-UI-emoji https://github.com/mcraiha/Unity-UI-emoji

    twemoji https://github.com/twitter/twemoji

    游戏是由人创造出来的,你如果能够为开发人员提供高质量的工具,并帮助他们更好地完成自己的工作,包括帮助他们提高生产力、尝试新事物并进行实验,那么你就越有可能在这个行业中获得成功。
  • 相关阅读:
    array_keys
    strval
    is_numeric
    php static延迟静态绑定
    page39 类的访问权限控制
    page34类的继承
    被遗忘在角落的类型检查函数
    2.2.5重写静态变量
    2.2.3使用parent作用域
    16个最棒的WordPress博客写作发布工具【博主桌面工具】
  • 原文地址:https://www.cnblogs.com/rxs123/p/7054319.html
Copyright © 2011-2022 走看看