[TUTORIAL] Como fazer uma Barra de Loading na Unity 5
+20
JohnRambo
rafaelllsd
bymaxbig
dinho
Soulphantom
anizioNoob
KramicGamer
LeonradoGp
hellkiller
Thalles Br
paladinojl
RenanMSV
augustines
cosmoplay
Marssa
FerX95
Chilinger
GustavoMaster
ParazitaGamerBR
MarcosSchultz
24 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
[TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Fala galera, elaborei este tutorial simples explicando passo a passo como fazer uma barra de loading (ASSISTAM O VÍDEO COMPLETO PARA EVITAR ERROS)
Vídeo explicando:
Script utilizado na aula:
Simples não?
o metodo é 100% funcional, e fácil de utilizar :D
Vídeo explicando:
Script utilizado na aula:
- Código:
using UnityEngine;
using System.Collections;
public class Loading : MonoBehaviour {
[Header("Nome da cena a ser carregada")]
public string cenaACarregar;
[Space(20)]
public Texture texturaFundos;
public Texture barraDeProgresso;
public string textoLoad = "Progresso do carregamento:";
public Color corDoTexto = Color.white;
public Font Fonte;
[Space(20)]
[Range(0.5f,3.0f)]
public float tamanhoDoTexto = 1.5f;
[Range(1,10)]
public int larguraDaBarra = 8;
[Range(1,10)]
public int alturaDaBarra = 2;
[Range(-4.5f,4.5f)]
public float deslocarBarra = 4;
[Range(-8,4)]
public float deslocarTextoX = 2;
[Range(-4.5f,4.5f)]
public float deslocarTextoY = 3;
private bool mostrarCarregamento = false;
private int progresso = 0;
void Update () {
if (Input.GetKeyDown (KeyCode.Space)) {
StartCoroutine(CenaDeCarregamento(cenaACarregar));
}
}
IEnumerator CenaDeCarregamento (string cena){
mostrarCarregamento = true;
AsyncOperation carregamento = Application.LoadLevelAsync (cena);
while (!carregamento.isDone) {
progresso = (int)(carregamento.progress*100);
yield return null;
}
}
void OnGUI (){
if (mostrarCarregamento == true) {
GUI.contentColor = corDoTexto;
GUI.skin.font = Fonte;
GUI.skin.label.fontSize = (int)(Screen.height/50*tamanhoDoTexto);
//TEXTURA DE FUNDO
GUI.DrawTexture(new Rect(0,0, Screen.width, Screen.height), texturaFundos);
//TEXTO DE CARREGAMENTO
float deslocXText = (Screen.height/10)*deslocarTextoX;
float deslocYText = (Screen.height/10)*deslocarTextoY;
GUI.Label(new Rect(Screen.width/2 + deslocXText, Screen.height/2 + deslocYText, Screen.width, Screen.height),textoLoad + " " + progresso + "%");
//BARRA DE PROGRESSO
float largura = Screen.width*(larguraDaBarra/10.0f);
float altura = Screen.height/50*alturaDaBarra;
float deslocYBar = (Screen.height/10)*deslocarBarra;
GUI.DrawTexture(new Rect(Screen.width/2 - largura/2, Screen.height/2 - (altura/2) + deslocYBar, largura*(progresso/100.0f), altura), barraDeProgresso);
}
}
}
Simples não?
o metodo é 100% funcional, e fácil de utilizar :D
Última edição por MarcosSchultz em Ter Jun 07, 2016 8:54 pm, editado 1 vez(es)
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
como eu faço pra nao ter que apertar o espaço ?
ParazitaGamerBR- Iniciante
- PONTOS : 3113
REPUTAÇÃO : 0
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
cria outra condição para trocar de dena !
GustavoMaster- Avançado
- PONTOS : 3534
REPUTAÇÃO : 14
Idade : 21
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Parazita, foi justamente o que eu expliquei no vídeo e ainda coloquei no tópico...
ASSISTAM O VÍDEO COMPLETO
nele eu explico como chamar o metodo e tudo mais
ASSISTAM O VÍDEO COMPLETO
nele eu explico como chamar o metodo e tudo mais
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Esse video serve para o unity 4.6
Chilinger- MembroAvançado
- PONTOS : 3854
REPUTAÇÃO : 42
Idade : 29
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Bom, na verdade esse vídeo serve até na Unity 3 eu acho...
fiz ele simples assim para evitar problemas com versões anteriores
Então ele funcionará na Unity 3, 4 e 5 :D
fiz ele simples assim para evitar problemas com versões anteriores
Então ele funcionará na Unity 3, 4 e 5 :D
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Muito bom esse tutorial! Esta é uma solução bem legal, parabéns MarcosSchultz :lol!:
FerX95- Iniciante
- PONTOS : 3108
REPUTAÇÃO : 3
Idade : 28
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Marcos, eu estou criando um jogo teste que é um rpg q vc tem q chegar no Nvl 10 e que quando vc morre o jogo reinicia, mais quando eu coloquei:
Application.LoadLevel ("teste"); (teste é o nome da cena)
Quando vc morre volta mas a tela fica mais escura e não da pra c mover, vc quer print pra me ajudar???
Obrigado!!!
Application.LoadLevel ("teste"); (teste é o nome da cena)
Quando vc morre volta mas a tela fica mais escura e não da pra c mover, vc quer print pra me ajudar???
Obrigado!!!
Marssa- Membro
- PONTOS : 3118
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Marssa não sei o que o marcos vai dizer mais vc tem q resetar certos parâmetros ao dar um "re loadlevel"
tipo assim vc tem um script que tem um função que inicia ao dar o primeiro load level a cena
quando a cena for chamada novamente esse ou esses scripts podem não funcionar ja que eles ja foram chamados intão vc tem q chamá-los novamente antes do loadlevel ou durante caso use o load level async
só acho me dizem ai se eu tenho razão ou não tem nada a ver ok ?
:study:
tipo assim vc tem um script que tem um função que inicia ao dar o primeiro load level a cena
quando a cena for chamada novamente esse ou esses scripts podem não funcionar ja que eles ja foram chamados intão vc tem q chamá-los novamente antes do loadlevel ou durante caso use o load level async
só acho me dizem ai se eu tenho razão ou não tem nada a ver ok ?
:study:
cosmoplay- Avançado
- PONTOS : 3557
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Marssa, provavelmente é erro no bake das luzes da sua cena...
Tente compilar o jogo e testar... provavelmente o problema vai sumir
Tente compilar o jogo e testar... provavelmente o problema vai sumir
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Mas n é so a luz, eu n consigo me mover tbm e nada acontece
Marssa- Membro
- PONTOS : 3118
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Crie um tópico específico para a sua dúvida e se possível, poste o seu projeto em um arquivo zip ( em algum link como mediafire, etc ) para que possamos conferir...
ou poste várias fotos ou derrepente um vídeo mostrando o problema :D
ou poste várias fotos ou derrepente um vídeo mostrando o problema :D
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Ok, amanha faço isso, obrigado, seus tutoriais são 10!!!
Marssa- Membro
- PONTOS : 3118
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Uma ultima pergunta, eu quero que quando zerar o jogo, que seria chegar até o Nvl 10, o jogo fecha-se, como eu faço isso??
Marssa- Membro
- PONTOS : 3118
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
no lugar de vc mandar abrir esse de carregar vc coloca no codigo que nivel 10 ={application.loadlevel(quit)}
Chilinger- MembroAvançado
- PONTOS : 3854
REPUTAÇÃO : 42
Idade : 29
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
eu coloquei:
if (NIVEL >= 10) {
Application.LoadLevel ();
ai eu n sei o q fazer para funcionar, eu so quero que quando isso acontecer, o jogo fechar.
if (NIVEL >= 10) {
Application.LoadLevel ();
ai eu n sei o q fazer para funcionar, eu so quero que quando isso acontecer, o jogo fechar.
Marssa- Membro
- PONTOS : 3118
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Vamos la vc passa o codigo que vc fez para ele subir de nivel que eu vou mexer e te mandar de volta para vc entender
Ve se eu entendi a pessoa passa de nivel vai para outra scena que tem um ambiente jogo.
Ve se eu entendi a pessoa passa de nivel vai para outra scena que tem um ambiente jogo.
Chilinger- MembroAvançado
- PONTOS : 3854
REPUTAÇÃO : 42
Idade : 29
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Peço que criem tópicos para dúvidas não relacionadas ao assunto do tutorial...
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Marcos qual comando eu uso pra barra executar logo após eu clicar no executavel do jogo ?
obs:sou iniciante
obs:sou iniciante
augustines- Iniciante
- PONTOS : 3077
REPUTAÇÃO : 0
Idade : 30
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
chame a corrotina no Start ué
- Código:
using UnityEngine;
using System.Collections;
public class Loading : MonoBehaviour {
[Header("Nome da cena a ser carregada")]
public string cenaACarregar;
[Space(20)]
public Texture texturaFundos;
public Texture barraDeProgresso;
public string textoLoad = "Progresso do carregamento:";
public Color corDoTexto = Color.white;
public Font Fonte;
[Space(20)]
[Range(0.5f,3.0f)]
public float tamanhoDoTexto = 1.5f;
[Range(1,10)]
public int larguraDaBarra = 8;
[Range(1,10)]
public int alturaDaBarra = 2;
[Range(-4.5f,4.5f)]
public float deslocarBarra = 4;
[Range(-8,4)]
public float deslocarTextoX = 2;
[Range(-4.5f,4.5f)]
public float deslocarTextoY = 3;
private bool mostrarCarregamento = false;
private int progresso = 0;
void Start () {
StartCoroutine(CenaDeCarregamento(cenaACarregar));
}
IEnumerator CenaDeCarregamento (string cena){
mostrarCarregamento = true;
AsyncOperation carregamento = Application.LoadLevelAsync (cena);
while (!carregamento.isDone) {
progresso = (int)(carregamento.progress*100);
yield return null;
}
}
void OnGUI (){
if (mostrarCarregamento == true) {
GUI.contentColor = corDoTexto;
GUI.skin.font = Fonte;
GUI.skin.label.fontSize = (int)(Screen.height/50*tamanhoDoTexto);
//TEXTURA DE FUNDO
GUI.DrawTexture(new Rect(0,0, Screen.width, Screen.height), texturaFundos);
//TEXTO DE CARREGAMENTO
float deslocXText = (Screen.height/10)*deslocarTextoX;
float deslocYText = (Screen.height/10)*deslocarTextoY;
GUI.Label(new Rect(Screen.width/2 + deslocXText, Screen.height/2 + deslocYText, Screen.width, Screen.height),textoLoad + " " + progresso + "%");
//BARRA DE PROGRESSO
float largura = Screen.width*(larguraDaBarra/10.0f);
float altura = Screen.height/50*alturaDaBarra;
float deslocYBar = (Screen.height/10)*deslocarBarra;
GUI.DrawTexture(new Rect(Screen.width/2 - largura/2, Screen.height/2 - (altura/2) + deslocYBar, largura*(progresso/100.0f), altura), barraDeProgresso);
}
}
}
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
obrigado marcos =)
augustines- Iniciante
- PONTOS : 3077
REPUTAÇÃO : 0
Idade : 30
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Marcos, no caso se eu quiser usar UI basta eu requerir o script do texto e formatar como vc fez carregamento.progress? (sendo carregamento a variavel de qqr nome q eu queira dar ..eu sei)
O .Progress mostra o progresso?
O .Progress mostra o progresso?
RenanMSV- Instrutor
- PONTOS : 4246
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
exatamente... o ".progress" mostra o progresso do async.
ali eu apenas joguei o progresso para uma int, para dar a ela um valor inteiro e de 0 a 100 em vez de 0 a 1
- Código:
progresso = (int)(carregamento.progress*100);
ali eu apenas joguei o progresso para uma int, para dar a ela um valor inteiro e de 0 a 100 em vez de 0 a 1
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Marcos, porque eu não consigo criar um topico?
Marssa- Membro
- PONTOS : 3118
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Por que você está tentando criar na área errada. Como o PopUp avisava antes de você se cadastrar, os tópicos devem ser criados em áreas como "Dúvidas em geral", "pedidos de tutoriais", destinados aos tópicos...
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
@@@ Mensagens não relacionadas ao tópico serão removidas.
Para tirar dúvidas em geral, criem um tópico na área "Dúvidas em geral"
Para tirar dúvidas em geral, criem um tópico na área "Dúvidas em geral"
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Como eu poderia fazer que depois que o jogo carregasse eu pressionasse alguma tecla para ir para a cena ao invés de ir direto?
paladinojl- Iniciante
- PONTOS : 3342
REPUTAÇÃO : 0
RenanMSV- Instrutor
- PONTOS : 4246
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
paladinojl escreveu:Como eu poderia fazer que depois que o jogo carregasse eu pressionasse alguma tecla para ir para a cena ao invés de ir direto?
o Async ocorre automaticamente... más existem alguns metodos melhores, como carregar a cena, e no início dessa nova cena, começar pausado com uma tela escura... ai você pressiona um botão e despausa o jogo...
Fica até mais fluido
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Como eu faço para em um gui.button executar esse comando
Thalles Br- Iniciante
- PONTOS : 3114
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
if(GUI.Button (new Rect(Screen.width/2-Screen.width/2,Screen.height/2-Screen.height/2,Screen.width/8,Screen.height/14),"Botão Simples")){
"Função"
}
"Função"
}
hellkiller- Mestre
- PONTOS : 3816
REPUTAÇÃO : 170
Áreas de atuação : Programação em C#,
Modelagem,
GameArt.
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Thalles Br escreveu:Como eu faço para em um gui.button executar esse comando
Do jeito que o script foi feito não tem como, pois o Async ocorre automaticamente...
Teria que mudar o metodo de retorno
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Ata ok então
SE alguém souber como fazer isso que o Marcos disse poste aki pf
SE alguém souber como fazer isso que o Marcos disse poste aki pf
Thalles Br- Iniciante
- PONTOS : 3114
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
- Código:
Public int cena; // int da cena a ser carregada
//Public string cena; // nome da cena a ser carregada
if(GUI.Button (new Rect(Screen.width/2-Screen.width/2,Screen.height/2-Screen.height/2,Screen.width/8,Screen.height/14),"Botão Simples")){
//Execute aqui todo o script do marcos
}
RenanMSV- Instrutor
- PONTOS : 4246
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Brigadão estarei testando :D
Thalles Br- Iniciante
- PONTOS : 3114
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
como eu faço para em vez de apertar espaço, passar em um box collider?
LeonradoGp- Membro
- PONTOS : 3396
REPUTAÇÃO : 3
Idade : 24
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Ué, em vez do espaço chamando este comando:
Você faz a void OnTriggerEnter chamar este comando
- Código:
StartCoroutine(CenaDeCarregamento(cenaACarregar));
Você faz a void OnTriggerEnter chamar este comando
LeonradoGp- Membro
- PONTOS : 3396
REPUTAÇÃO : 3
Idade : 24
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Marssa escreveu:eu coloquei:
if (NIVEL >= 10) {
Application.LoadLevel ();
ai eu n sei o q fazer para funcionar, eu so quero que quando isso acontecer, o jogo fechar.
muda o Apllication.LoadLevel para
if (NIVEL >= 10) {
Application.Quit;
Acho que é assim
KramicGamer- Iniciante
- PONTOS : 3097
REPUTAÇÃO : 0
Respeito as regras :
RenanMSV- Instrutor
- PONTOS : 4246
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
no meu apareçe isso
anizioNoob- Avançado
- PONTOS : 3239
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
A começar, o nome do script já está errado...
Tem que ser totalmente igual ao nome da classe, diferenciando letras maiúsculas de minusculas
Tem que ser totalmente igual ao nome da classe, diferenciando letras maiúsculas de minusculas
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
serão tem q ser igualzinho?
anizioNoob- Avançado
- PONTOS : 3239
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Consegui cara te amo
anizioNoob- Avançado
- PONTOS : 3239
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Marcos ele destroy a cena mas se eu quiser instanciar o player dps do loading seja feito
Chilinger- MembroAvançado
- PONTOS : 3854
REPUTAÇÃO : 42
Idade : 29
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Chilinger escreveu:Marcos ele destroy a cena mas se eu quiser instanciar o player dps do loading seja feito
Basta não jogar o player de início na cena, e colocar um script com instantiate na nova cena, na void Start
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
obg mas nao sei fazer isso como seria.E quero usar esse loading mas de uma vez tem como.
Chilinger- MembroAvançado
- PONTOS : 3854
REPUTAÇÃO : 42
Idade : 29
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
como faço pro carregamento demorar mais ? pois o meu fica muito rápido desde já grato !
Última edição por Soulphantom em Qui Jun 09, 2016 3:32 pm, editado 1 vez(es)
Soulphantom- Membro
- PONTOS : 2988
REPUTAÇÃO : 3
Idade : 23
Áreas de atuação : PHP,HTML,C#,Blender etc
Respeito as regras :
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
Soulphantom escreveu:como faço pro carregamento demorar mais ? pois o eu fica muito rápido desde já grato !
Nuss, por que quer fazer demorar mais???
Mas enfim, se quiser que demore mais, faça um carregamento fictício, uma Cooroina falsa, apenas para esperar um tempo desejado:
Re: [TUTORIAL] Como fazer uma Barra de Loading na Unity 5
pois o meu fica muito rápido não sei o porque. tipo aparece a tela de loading e logo muda de tela.
não sei se e erro ou e no meu que fico muito rápido.
e para a rotina demorar no caso e só trocar o yeld de null para um waitiforseconds ?
não sei se e erro ou e no meu que fico muito rápido.
e para a rotina demorar no caso e só trocar o yeld de null para um waitiforseconds ?
Última edição por Soulphantom em Qui Jun 09, 2016 3:36 pm, editado 1 vez(es)
Soulphantom- Membro
- PONTOS : 2988
REPUTAÇÃO : 3
Idade : 23
Áreas de atuação : PHP,HTML,C#,Blender etc
Respeito as regras :
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [Duvida]Como fazer uma barra de vida usando o canvas?obs:so a parte de diminuir a barra
» [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5
» [TUTORIAL] Unity 3D - Como fazer um imã simples.
» [TUTORIAL] Como fazer Espelhos na unity FREE
» [TUTORIAL] Como fazer um Sol Realista na Unity 5 ( Sun Shafts )
» [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5
» [TUTORIAL] Unity 3D - Como fazer um imã simples.
» [TUTORIAL] Como fazer Espelhos na unity FREE
» [TUTORIAL] Como fazer um Sol Realista na Unity 5 ( Sun Shafts )
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos