[TUTORIAL] Botão UI ativar texto UI com fadeIn e fadeOut
3 participantes
Página 1 de 1
[TUTORIAL] Botão UI ativar texto UI com fadeIn e fadeOut
Olá pessoal, por meio de uma dúvida, eu elaborei este sisteminha simples, para ativar um texto UI quando clicar em um botão UI.
O texto ficará um determinado tempo habilitado e depois será desabilitado automaticamente. Tudo isto com fadeIn e fadeOut no texto. Para ter este efeito, basta criar um novo script em C# com o nome TextoUI e utilizar este código:
Jogue em qualquer objeto em cena.
Depois disto, basta jogar o botão na variável "botao" e o texto na variável "texto". pronto :D
O texto ficará um determinado tempo habilitado e depois será desabilitado automaticamente. Tudo isto com fadeIn e fadeOut no texto. Para ter este efeito, basta criar um novo script em C# com o nome TextoUI e utilizar este código:
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class TextoUI : MonoBehaviour {
public Button botao;
public Text texto;
public float duracaoDoTexto = 2;
bool cronometrar, cronometrar2, cronometrar3;
float cronometro;
void Start () {
botao.onClick = new Button.ButtonClickedEvent();
botao.onClick.AddListener(() => FazerTextoAparecer());
texto.enabled = false;
cronometrar = cronometrar2 = cronometrar3 = false;
cronometro = 0;
}
void FazerTextoAparecer(){
if (cronometrar == false) {
texto.enabled = true;
Color cor = texto.color;
cor.a = 0;
texto.color = cor;
cronometrar = true;
}
}
void Update(){
if (cronometrar == true && cronometrar2 == false) {
cronometro += Time.deltaTime;
Color cor = texto.color;
cor.a = Mathf.Clamp (cronometro, 0, 1);
texto.color = cor;
if (cronometro >= 1) {
cronometro = 1;
cronometrar2 = true;
StartCoroutine ("Esperar2Seg");
}
}
if (cronometrar3 == true) {
cronometro -= Time.deltaTime;
Color cor = texto.color;
cor.a = Mathf.Clamp (cronometro, 0, 1);
texto.color = cor;
if (cronometro <= 0) {
cronometro = 0;
cronometrar = cronometrar2 = cronometrar3 = false;
}
}
}
IEnumerator Esperar2Seg(){
yield return new WaitForSeconds (duracaoDoTexto);
cronometrar3 = true;
}
}
Jogue em qualquer objeto em cena.
Depois disto, basta jogar o botão na variável "botao" e o texto na variável "texto". pronto :D
Re: [TUTORIAL] Botão UI ativar texto UI com fadeIn e fadeOut
Muito bom Marcos, valeu msm!
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: [TUTORIAL] Botão UI ativar texto UI com fadeIn e fadeOut
Uma dúvida: como fazer pra alterar a velocidade do texto aparecer, pois ele demora um pouco ate ficar totalmente opaco.
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: [TUTORIAL] Botão UI ativar texto UI com fadeIn e fadeOut
MeverPlays escreveu:Uma dúvida: como fazer pra alterar a velocidade do texto aparecer, pois ele demora um pouco ate ficar totalmente opaco.
Basta alterar o if aonde tem o cronometro... está como >= 1... altere este valor e todos os valores referentes a variável do cronometro.
Re: [TUTORIAL] Botão UI ativar texto UI com fadeIn e fadeOut
- Código:
using UniyEngine;
using System.Collections;
using UnityEngine.UI;
public class TextoUI_fadeInOut : MonoBehaviour {
public Text textoFade;
public float velocidadeFade = 0.2f;
public bool aumentaFade;
void Start(){
textoFade.color = new Color(0,0,0,0);
}
void Update(){
if(textoFade.color.a >= 1){
aumentaFade = false;
}
if(textoFade.color.a <= 0){
aumentaFade = true;
}
if(aumentaFade == false){
textoFade.color -= new Color(0,0,0,velocidadeFade * Time.deltaTime);
} else {
textoFade.color += new Color(0,0,0,velocidadeFade * Time.deltaTime);
}
}
}
TENTANDO DAR UMA MÃOZINHA AÍ.
Qualquer dúvida de fazer fades com cores diferentes, é só consultar o ScriptingReference: https://docs.unity3d.com/ScriptReference/Color.html
Simplizãum S- Membro
- PONTOS : 2736
REPUTAÇÃO : 15
Idade : 26
Respeito as regras :
Tópicos semelhantes
» Como Fazer Um FadeIn e FadeOut?
» [TUTORIAL] Botões, Texto, GUI, etc com barra de rolagem
» ATIVAR TEXTO UI AO APERTAR UM BOTAO UI
» [TUTORIAL] Mostrar Data e Hora atual do Computador em um texto
» [TUTORIAL] Descobrir o tamanho de um texto na void OnGUI (CalcSize)
» [TUTORIAL] Botões, Texto, GUI, etc com barra de rolagem
» ATIVAR TEXTO UI AO APERTAR UM BOTAO UI
» [TUTORIAL] Mostrar Data e Hora atual do Computador em um texto
» [TUTORIAL] Descobrir o tamanho de um texto na void OnGUI (CalcSize)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos