[RESOLVIDO] Como aplicar efeito Fadeout em Imagem
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Como aplicar efeito Fadeout em Imagem
Boa tarde galero, estou com uma certa duvida em um Script, eu queria aplicar um efeito de Fadeout em uma imagem que aparece com uma certa cronometragem (o script eu peguei de outro tópico, apenas mudei de texto para imagem), seria meio que uma instruçao aparecendo na tela e logo após ela desaparece após alguns segundos mas eu gostaria que ela desaparecesse aos poucos e não direto, eu fiz esse mesmo efeito com Jumpscares mas não estou conseguindo aplicar neste Script. Alguem poderia me ajudar?
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class texto : MonoBehaviour
{
public float tempoaparecer;
public float tempodesaparecer;
public Image imagem;
public float cronometro;
void Start()
{
imagem.enabled = false;
}
// Update is called once per frame
void Update()
{
cronometro += 1 * Time.deltaTime;
if (cronometro >= tempoaparecer)
{
imagem.enabled = true;
if (cronometro >= tempodesaparecer)
{
imagem.enabled = false;
}
}
}
}
Re: [RESOLVIDO] Como aplicar efeito Fadeout em Imagem
Você pode usar a void OnEnable(), dessa forma, o fade será executado automaticamente sempre que você ativar a imagem.
ficaria mais ou menos assim:
ficaria mais ou menos assim:
- Código:
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
public class FadeImagem : MonoBehaviour
{
private Image imagem;
[SerializeField] private float tempoFadeIN;
[SerializeField] private float tempoFadeOut;
[SerializeField] private float tempoVisivel;
public byte estadoAtual;
private void OnEnable()
{
imagem = GetComponent<Image>();
imagem.CrossFadeAlpha(0, 0, false);
StartCoroutine(Estados());
}
IEnumerator Estados()
{
estadoAtual = 0;
yield return new WaitForSeconds(tempoFadeIN);
estadoAtual = 1;
yield return new WaitForSeconds(tempoVisivel);
estadoAtual = 2;
yield return new WaitForSeconds(tempoFadeOut);
gameObject.SetActive(false);
}
void Update()
{
if(estadoAtual == 0)
{
imagem.CrossFadeAlpha(1, tempoFadeIN, false);
}
else if(estadoAtual == 2)
{
imagem.CrossFadeAlpha(0, tempoFadeOut, false);
}
}
}
Última edição por Fagner em Ter Jan 07, 2020 1:52 pm, editado 1 vez(es)
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Como aplicar efeito Fadeout em Imagem
Então mano, eu utilizei desse Script e esta dando o seguinte erro:
"(NullReferenceException: Object reference not set to an instance of an object
texto.OnEnable () (at Assets/Game/Scripts/FadeImagem.cs:18)".. Só uma pequena coisa que esqueci de citar no texto acima, é que essas Instruções, ela é uma Imagem em Texto com o fundo em Transparente..
"(NullReferenceException: Object reference not set to an instance of an object
texto.OnEnable () (at Assets/Game/Scripts/FadeImagem.cs:18)".. Só uma pequena coisa que esqueci de citar no texto acima, é que essas Instruções, ela é uma Imagem em Texto com o fundo em Transparente..
Re: [RESOLVIDO] Como aplicar efeito Fadeout em Imagem
Esse script deve ser colocado na imagem que vai receber o fade, já foi testado e funciona.
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Como aplicar efeito Fadeout em Imagem
Misericórdia , é porq eu havia colocado ele dentro do próprio Canvas naquele ultimo script, agora funcionou!.. Muito obrigado e desculpe o incômodo, me ajudou muito amigo..Fagner escreveu:Esse script deve ser colocado na imagem que vai receber o fade, já foi testado e funciona.
Re: [RESOLVIDO] Como aplicar efeito Fadeout em Imagem
"Só uma pequena coisa que esqueci de citar no texto acima, é que essas Instruções, ela é uma Imagem em Texto com o fundo em Transparente.."
Dá pra fazer o fade direto num Texto na UI, sem precisar de uma imagem com fundo transparente... A desvantagem da imagem, é que ela ocupa muito espaço comparado a um texto comum, isso aumenta o tamanho do jogo sem necessidade.
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Como aplicar efeito Fadeout em Imagem
Sim sim, só que no caso o Texto ele não permite personalizar como se fosse uma imagem e isso ai e complicado.. Eu tenho uma outra dúvida não muito haver com este tópico.. Sobre a mensagem UIFagner escreveu:"Só uma pequena coisa que esqueci de citar no texto acima, é que essas Instruções, ela é uma Imagem em Texto com o fundo em Transparente.."
Dá pra fazer o fade direto num Texto na UI, sem precisar de uma imagem com fundo transparente... A desvantagem da imagem, é que ela ocupa muito espaço comparado a um texto comum, isso aumenta o tamanho do jogo sem necessidade.
Re: [RESOLVIDO] Como aplicar efeito Fadeout em Imagem
Crie um novo tópico sobre a outra dúvida.
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Efeito de distorcer/esticar/borrar a imagem do jogo
» [RESOLVIDO] Como trocar uma imagem ao clicar num botão em unity c#
» [RESOLVIDO]Como aplicar textura trânsparente na unity
» [RESOLVIDO] como fazer efeito para camera
» [RESOLVIDO]Como fazer uma imagem desaparecer lentamente.
» [RESOLVIDO] Como trocar uma imagem ao clicar num botão em unity c#
» [RESOLVIDO]Como aplicar textura trânsparente na unity
» [RESOLVIDO] como fazer efeito para camera
» [RESOLVIDO]Como fazer uma imagem desaparecer lentamente.
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos