Unity制作提示功能,背景图片自适应文字大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity制作提示功能,背景图片自适应文字大小相关的知识,希望对你有一定的参考价值。

参考技术A 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 ();





unity ugui图片自适应文字内容大小

1、UI提示框与文字) Unity Text组件需要与Image组件自适应

新建如图的UI物体

 

 

 

如图为ImageRectTransform中设置Pivot(中心点),如果需要向上向左适应,则将中心点设置在Image的右下方,并添加Content Size Fitter 组件(放在父物体上,可以根据子物体的大小来控制父物体的大小),添加Horizontal Layout Group 组件,控制布局

Text就不要什么设置了。

以上是关于Unity制作提示功能,背景图片自适应文字大小的主要内容,如果未能解决你的问题,请参考以下文章

unity发布为exe图片没办法自适应屏幕大小怎么办

Java给图片增加水印,根据图片大小自适应,右下角/斜角/平铺

Java给图片增加水印,根据图片大小自适应,右下角/斜角/平铺

Java给图片增加水印,根据图片大小自适应,右下角/斜角/平铺

CSS背景图片自适应屏幕大小

关于Android制作.9.png图片