1、在Unity中导入你想要逐渐显示的贴图,可以将每个字或者文字块都作为一个单独的Sprite导入。然后,将这些Sprite组成一个SpriteAtlas,这样可以方便地管理和使用这些Sprite。
2、在场景中创建一个UICanvas,用于显示文字,可以在Canvas中创建一个RawImage,然后将要显示的贴图设置为RawImage的Texture。这样,原始贴图就会被显示在屏幕上。
3、在RawImage上添加一个SpriteMask组件,可以通过设置SpriteMask的AlphaThreshold属性来控制显示的透明度。然后创建一个动画,逐渐将AlphaThreshold的值从0增加到1,这样就可以逐渐显示贴图里的字。
4、在需要逐渐显示贴图的地方播放动画即可。
unity做文字展示板步骤:1,建立一个背景,随便弄个白色的图片拖到Image里。
2,Image--text,随便写很多的文字,对齐什么的都简单的
3,现在要实现文字能够拖鼠标滚动。在Image里面ADDcomponent添加scrollbar组件,并且你会看到这个组件里面有个content里面是空的,所以把text拖到content里面,就建立了联系。
4,完善,当然文字太多,多出的部分不希望显示,在Image在添加一个组件mask就可以了。
5,实现添加滚动条功能。在canvas--UI---csrollbar,注意位置是是canvas下面。
1层级结构如下
2在Image 上添加 以下组件就可以实现Image 与文字的自动大小匹配了
3 Text 不用修改其他组件
using System.Collections
using System.Collections.Generic
using UnityEngine
using UnityEngine.UI
using DG.Tweening
///
/// 提示小窗口
///
public enum ToolTipType
{
error,//错误提示 红
normal,// 正常提示 蓝
none,// 没有 白
}
public class TooTipManager : MonoSingleton{
public GameObject toolTipPrefab
public Text content
public Image bg
public CanvasGroup canvasgRroup
public float alpha
public Vector3 prePos
public bool haveLoad
// Use this for initialization
void Start () {
if (!haveLoad) {
Init ()
}
if (GlobalConfig.currentDecutionModle == TypeOfEnums.DeductionModle.practice)
{
ShowTip ("欢迎来到练习模式", ToolTipType.normal)
}
}
// Update is called once per frame
void Update () {
canvasgRroup.alpha = alpha
}
//初始化
public void Init(){
toolTipPrefab = ResourcesMgr.Instance.Load (ResourcesMgr.ResourceType.UI, "toolTip", true)
toolTipPrefab.transform.SetParent (UI_Faced.Instance.gameObject.transform)
toolTipPrefab.transform.localPosition = new Vector3 (-226f,600,0)
toolTipPrefab.transform.SetAsFirstSibling()
content = toolTipPrefab.transform.GetChild(0).GetComponent ()
canvasgRroup = toolTipPrefab.GetComponent ()
alpha = 1
}
// 保持提示大小------
public void KeepSameScale(){
}
public void ShowTip(string contentString,ToolTipType type,float speed = 2.5f)
{
if (content == null) {
Init ()
haveLoad = true
}
content.text = contentString
canvasgRroup.alpha = 1
switch (type) {
case ToolTipType.error:
bg.color = Color.red
break
case ToolTipType.normal:
bg.color = new Color (14f/255,137f/255,178f/255,255f/255)
break
case ToolTipType.none:
bg.color = Color.yellow
break
default:
break
}
//toolTipPrefab.transform.DOKill (true)
toolTipPrefab.transform.DORestart ()
toolTipPrefab.transform.DOLocalMove (new Vector3 (-226f,400f,0f), speed, false).OnComplete(OnAnimationEnd).SetEase(Ease.Linear).OnStart(statrt)
}
Tweener t
bool isfadeing = false
public void OnAnimationEnd()
{
isfadeing = true
t = DOTween.To (() =>alpha, x =>alpha = x, 0, 1f).OnComplete (
() =>{
toolTipPrefab.transform.localPosition = new Vector3 (-226f,600,0)
alpha = 1
isfadeing = false
}
)
}
public void statrt(){
if (isfadeing) {
alpha = 1
isfadeing = false
t.Kill ()
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)