Unity3D: 自制提示框消息 (Toast)解析
java哥
阅读:429
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.作者投稿可能会经我们编辑修改或补充。