Unity3D: 自制提示框消息 (Toast)解析

java哥 阅读:264 2021-04-01 13:10:19 评论:0

前言:
Unity3D 自制类似 android Toast 提示框消息 显示。

首先,需要自定义一个 文本UI 对象 预制体,再在需要的时候,加载显示 (0^◇^0)/
根据字符串 参数传递,显示提示消息

     // 提示 消息 
        public void onTips(string tips_str) 
        { 
            GameObject toast = Resources.Load("XXX") as GameObject; // 加载预制体 
            GameObject m_toast = Instantiate(toast, null, true);    // 对象初始化 
            m_toast.transform.parent = home.transform;              // 附加到父节点(需要显示的UI下) 
            m_toast.transform.localScale = Vector3.one; 
            m_toast.transform.localPosition = Vector3.zero; 
            Text tips = m_toast.transform.FindChild("lab_toast").GetComponent<Text>(); 
            tips.text = tips_str; 
            Destroy(m_toast, 2); // 2秒后 销毁 
        }

更新 (2017/9/22):

根据 字符串长度 自适配窗体大小,绑定当前UI父节点:

        // arg0: 提示信息 
        // arg1: 提示框体父节点 
        public void ShowToastUI(string str, Transform trans) 
        { 
            GameObject toast = Resources.Load("XXX") as GameObject; // 加载预制体 
            GameObject m_toast = Instantiate(toast, null, true);    // 对象初始化 
            m_toast.transform.parent = trans; 
            m_toast.transform.localScale = Vector3.one; 
            m_toast.transform.localPosition = Vector3.zero; 
            RectTransform transform = m_toast.transform.GetComponent<RectTransform>(); 
            Text tips = m_toast.transform.FindChild("lab_toast").GetComponent<Text>(); 
            tips.text = str;  
            // 根据字符长度,适配窗体大小 
            // arg0: 字符串长度*文本字体大小,再加上边距为提示窗体的宽度 
            // arg1: 提示窗体高度 45 (可根据自己需求做适当修改) 
            transform.sizeDelta = new Vector2(str.Length * tips.fontSize + 35, 45); 
 
            GameObject.Destroy(m_toast, 2); 
        }

嗯,先介绍到这里,希望对你有帮助(~ ̄▽ ̄)~

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
KIKK导航

KIKK导航

关注我们