Ajuda script de loading
2 participantes
Página 1 de 1
Ajuda script de loading
Aqui o script de loading do marcos, eu queria que quando eu clicar no botao jogar do video do Menu = https://www.youtube.com/watch?v=cQuFv27wQ0U ele inicia-se o loading e depois a cenaDojogo como faço?
Script do loading
Script do loading
- 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 = "Loading";
public Color corDoTexto = Color.green;
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;
// Update is called once per frame
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);
//Texture 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 + deslocarTextoX, Screen.height / 2 + deslocarTextoY, 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);
}
}
}
Eduardoro39- Avançado
- PONTOS : 3257
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: Ajuda script de loading
Está usando o script de menu 100% igual ao do tutorial ou já modificou ele?
Posta ele, que ai não tem erro.
Posta ele, que ai não tem erro.
Re: Ajuda script de loading
IngualzinhoMarcosSchultz escreveu:Está usando o script de menu 100% igual ao do tutorial ou já modificou ele?
Posta ele, que ai não tem erro.
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;
public class MENU : MonoBehaviour
{
public Button BotaoJogar, BotaoOpcoes, BotaoSair;
[Space(20)]
public Slider BarraVolume;
public Toggle CaixaModoJanela;
public Dropdown Resolucoes, Qualidades;
public Button BotaoVoltar, BotaoSalvarPref;
[Space(20)]
public Text textoVol;
public string nomeCenaJogo = "CENA1";
private string nomeDaCena;
private float VOLUME;
private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
private bool telaCheiaAtivada;
private Resolution[] resolucoesSuportadas;
void Awake()
{
DontDestroyOnLoad(transform.gameObject);
resolucoesSuportadas = Screen.resolutions;
}
void Start()
{
Opcoes(false);
ChecarResolucoes();
AjustarQualidades();
//
if (PlayerPrefs.HasKey("RESOLUCAO"))
{
int numResoluc = PlayerPrefs.GetInt("RESOLUCAO");
if (resolucoesSuportadas.Length <= numResoluc)
{
PlayerPrefs.DeleteKey("RESOLUCAO");
}
}
//
nomeDaCena = SceneManager.GetActiveScene().name;
Cursor.visible = true;
Time.timeScale = 1;
//
BarraVolume.minValue = 0;
BarraVolume.maxValue = 1;
//=============== SAVES===========//
if (PlayerPrefs.HasKey("VOLUME"))
{
VOLUME = PlayerPrefs.GetFloat("VOLUME");
BarraVolume.value = VOLUME;
}
else
{
PlayerPrefs.SetFloat("VOLUME", 1);
BarraVolume.value = 1;
}
//=============MODO JANELA===========//
if (PlayerPrefs.HasKey("modoJanela"))
{
modoJanelaAtivo = PlayerPrefs.GetInt("modoJanela");
if (modoJanelaAtivo == 1)
{
Screen.fullScreen = false;
CaixaModoJanela.isOn = true;
}
else
{
Screen.fullScreen = true;
CaixaModoJanela.isOn = false;
}
}
else
{
modoJanelaAtivo = 0;
PlayerPrefs.SetInt("modoJanela", modoJanelaAtivo);
CaixaModoJanela.isOn = false;
Screen.fullScreen = true;
}
//========RESOLUCOES========//
if (modoJanelaAtivo == 1)
{
telaCheiaAtivada = false;
}
else
{
telaCheiaAtivada = true;
}
if (PlayerPrefs.HasKey("RESOLUCAO"))
{
resolucaoSalveIndex = PlayerPrefs.GetInt("RESOLUCAO");
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width, resolucoesSuportadas[resolucaoSalveIndex].height, telaCheiaAtivada);
Resolucoes.value = resolucaoSalveIndex;
}
else
{
resolucaoSalveIndex = (resolucoesSuportadas.Length - 1);
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width, resolucoesSuportadas[resolucaoSalveIndex].height, telaCheiaAtivada);
PlayerPrefs.SetInt("RESOLUCAO", resolucaoSalveIndex);
Resolucoes.value = resolucaoSalveIndex;
}
//=========QUALIDADES=========//
if (PlayerPrefs.HasKey("qualidadeGrafica"))
{
qualidadeGrafica = PlayerPrefs.GetInt("qualidadeGrafica");
QualitySettings.SetQualityLevel(qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
}
else
{
QualitySettings.SetQualityLevel((QualitySettings.names.Length - 1));
qualidadeGrafica = (QualitySettings.names.Length - 1);
PlayerPrefs.SetInt("qualidadeGrafica", qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
}
// =========SETAR BOTOES==========//
BotaoJogar.onClick = new Button.ButtonClickedEvent();
BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
BotaoSair.onClick = new Button.ButtonClickedEvent();
BotaoVoltar.onClick = new Button.ButtonClickedEvent();
BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
BotaoJogar.onClick.AddListener(() => Jogar());
BotaoOpcoes.onClick.AddListener(() => Opcoes(true));
BotaoSair.onClick.AddListener(() => Sair());
BotaoVoltar.onClick.AddListener(() => Opcoes(false));
BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
}
//=========VOIDS DE CHECAGEM==========//
private void ChecarResolucoes()
{
Resolution[] resolucoesSuportadas = Screen.resolutions;
Resolucoes.options.Clear();
for (int y = 0; y < resolucoesSuportadas.Length; y++)
{
Resolucoes.options.Add(new Dropdown.OptionData() { text = resolucoesSuportadas[y].width + "x" + resolucoesSuportadas[y].height });
}
Resolucoes.captionText.text = "Resolucao";
}
private void AjustarQualidades()
{
string[] nomes = QualitySettings.names;
Qualidades.options.Clear();
for (int y = 0; y < nomes.Length; y++)
{
Qualidades.options.Add(new Dropdown.OptionData() { text = nomes[y] });
}
Qualidades.captionText.text = "Qualidade";
}
private void Opcoes(bool ativarOP)
{
BotaoJogar.gameObject.SetActive(!ativarOP);
BotaoOpcoes.gameObject.SetActive(!ativarOP);
BotaoSair.gameObject.SetActive(!ativarOP);
//
textoVol.gameObject.SetActive(ativarOP);
BarraVolume.gameObject.SetActive(ativarOP);
CaixaModoJanela.gameObject.SetActive(ativarOP);
Resolucoes.gameObject.SetActive(ativarOP);
Qualidades.gameObject.SetActive(ativarOP);
BotaoVoltar.gameObject.SetActive(ativarOP);
BotaoSalvarPref.gameObject.SetActive(ativarOP);
}
//=========VOIDS DE SALVAMENTO==========//
private void SalvarPreferencias()
{
if (CaixaModoJanela.isOn == true)
{
modoJanelaAtivo = 1;
telaCheiaAtivada = false;
}
else
{
modoJanelaAtivo = 0;
telaCheiaAtivada = true;
}
PlayerPrefs.SetFloat("VOLUME", BarraVolume.value);
PlayerPrefs.SetInt("qualidadeGrafica", Qualidades.value);
PlayerPrefs.SetInt("modoJanela", modoJanelaAtivo);
PlayerPrefs.SetInt("RESOLUCAO", Resolucoes.value);
resolucaoSalveIndex = Resolucoes.value;
AplicarPreferencias();
}
private void AplicarPreferencias()
{
VOLUME = PlayerPrefs.GetFloat("VOLUME");
QualitySettings.SetQualityLevel(PlayerPrefs.GetInt("qualidadeGrafica"));
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width, resolucoesSuportadas[resolucaoSalveIndex].height, telaCheiaAtivada);
}
//===========VOIDS NORMAIS=========//
void Update()
{
if (SceneManager.GetActiveScene().name != nomeDaCena)
{
AudioListener.volume = VOLUME;
Destroy(gameObject);
}
}
private void Jogar()
{
SceneManager.LoadScene(nomeCenaJogo);
}
private void Sair()
{
Application.Quit();
}
}
Eduardoro39- Avançado
- PONTOS : 3257
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: Ajuda script de loading
Eu utilizei o método desta aula aqui para fazer o carregamento... eh muito melhor:
E com base nele, refiz o sistema de menu, basta utilizar este código abaixo.
Se não souber o que usar na parte do Loading, basta assistir o vídeo.
E com base nele, refiz o sistema de menu, basta utilizar este código abaixo.
Se não souber o que usar na parte do Loading, basta assistir o vídeo.
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;
using System;
[Serializable]
public class Carregar{
public Image barraDeCarregamento;
public Text TextoProgresso;
[HideInInspector]
public int progresso = 0;
[HideInInspector]
public string textoOriginal;
}
public class MENU : MonoBehaviour{
public Button BotaoJogar, BotaoOpcoes, BotaoSair;
[Space(20)]
public Slider BarraVolume;
public Toggle CaixaModoJanela;
public Dropdown Resolucoes, Qualidades;
public Button BotaoVoltar, BotaoSalvarPref;
[Space(20)]
public Text textoVol;
public string nomeCenaJogo = "CENA1";
[Space(20)]
public Carregar Loading;
private string nomeDaCena;
private float VOLUME;
private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
private bool telaCheiaAtivada;
private Resolution[] resolucoesSuportadas;
void Awake(){
DontDestroyOnLoad(transform.gameObject);
resolucoesSuportadas = Screen.resolutions;
}
void Start(){
//loading
Loading.barraDeCarregamento.enabled = false;
Loading.TextoProgresso.enabled = false;
if (Loading.TextoProgresso != null) {
Loading.textoOriginal = Loading.TextoProgresso.text;
}
if (Loading.barraDeCarregamento != null) {
Loading.barraDeCarregamento.type = Image.Type.Filled;
Loading.barraDeCarregamento.fillMethod = Image.FillMethod.Horizontal;
Loading.barraDeCarregamento.fillOrigin = (int)Image.OriginHorizontal.Left;
}
//
Opcoes(false);
ChecarResolucoes();
AjustarQualidades();
//
if (PlayerPrefs.HasKey("RESOLUCAO"))
{
int numResoluc = PlayerPrefs.GetInt("RESOLUCAO");
if (resolucoesSuportadas.Length <= numResoluc)
{
PlayerPrefs.DeleteKey("RESOLUCAO");
}
}
//
nomeDaCena = SceneManager.GetActiveScene().name;
Cursor.visible = true;
Time.timeScale = 1;
//
BarraVolume.minValue = 0;
BarraVolume.maxValue = 1;
//=============== SAVES===========//
if (PlayerPrefs.HasKey("VOLUME"))
{
VOLUME = PlayerPrefs.GetFloat("VOLUME");
BarraVolume.value = VOLUME;
}
else
{
PlayerPrefs.SetFloat("VOLUME", 1);
BarraVolume.value = 1;
}
//=============MODO JANELA===========//
if (PlayerPrefs.HasKey("modoJanela"))
{
modoJanelaAtivo = PlayerPrefs.GetInt("modoJanela");
if (modoJanelaAtivo == 1)
{
Screen.fullScreen = false;
CaixaModoJanela.isOn = true;
}
else
{
Screen.fullScreen = true;
CaixaModoJanela.isOn = false;
}
}
else
{
modoJanelaAtivo = 0;
PlayerPrefs.SetInt("modoJanela", modoJanelaAtivo);
CaixaModoJanela.isOn = false;
Screen.fullScreen = true;
}
//========RESOLUCOES========//
if (modoJanelaAtivo == 1)
{
telaCheiaAtivada = false;
}
else
{
telaCheiaAtivada = true;
}
if (PlayerPrefs.HasKey("RESOLUCAO"))
{
resolucaoSalveIndex = PlayerPrefs.GetInt("RESOLUCAO");
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width, resolucoesSuportadas[resolucaoSalveIndex].height, telaCheiaAtivada);
Resolucoes.value = resolucaoSalveIndex;
}
else
{
resolucaoSalveIndex = (resolucoesSuportadas.Length - 1);
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width, resolucoesSuportadas[resolucaoSalveIndex].height, telaCheiaAtivada);
PlayerPrefs.SetInt("RESOLUCAO", resolucaoSalveIndex);
Resolucoes.value = resolucaoSalveIndex;
}
//=========QUALIDADES=========//
if (PlayerPrefs.HasKey("qualidadeGrafica"))
{
qualidadeGrafica = PlayerPrefs.GetInt("qualidadeGrafica");
QualitySettings.SetQualityLevel(qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
}
else
{
QualitySettings.SetQualityLevel((QualitySettings.names.Length - 1));
qualidadeGrafica = (QualitySettings.names.Length - 1);
PlayerPrefs.SetInt("qualidadeGrafica", qualidadeGrafica);
Qualidades.value = qualidadeGrafica;
}
// =========SETAR BOTOES==========//
BotaoJogar.onClick = new Button.ButtonClickedEvent();
BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
BotaoSair.onClick = new Button.ButtonClickedEvent();
BotaoVoltar.onClick = new Button.ButtonClickedEvent();
BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
BotaoJogar.onClick.AddListener(() => Jogar());
BotaoOpcoes.onClick.AddListener(() => Opcoes(true));
BotaoSair.onClick.AddListener(() => Sair());
BotaoVoltar.onClick.AddListener(() => Opcoes(false));
BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
}
//=========VOIDS DE CHECAGEM==========//
private void ChecarResolucoes()
{
Resolution[] resolucoesSuportadas = Screen.resolutions;
Resolucoes.options.Clear();
for (int y = 0; y < resolucoesSuportadas.Length; y++)
{
Resolucoes.options.Add(new Dropdown.OptionData() { text = resolucoesSuportadas[y].width + "x" + resolucoesSuportadas[y].height });
}
Resolucoes.captionText.text = "Resolucao";
}
private void AjustarQualidades()
{
string[] nomes = QualitySettings.names;
Qualidades.options.Clear();
for (int y = 0; y < nomes.Length; y++)
{
Qualidades.options.Add(new Dropdown.OptionData() { text = nomes[y] });
}
Qualidades.captionText.text = "Qualidade";
}
private void Opcoes(bool ativarOP)
{
BotaoJogar.gameObject.SetActive(!ativarOP);
BotaoOpcoes.gameObject.SetActive(!ativarOP);
BotaoSair.gameObject.SetActive(!ativarOP);
//
textoVol.gameObject.SetActive(ativarOP);
BarraVolume.gameObject.SetActive(ativarOP);
CaixaModoJanela.gameObject.SetActive(ativarOP);
Resolucoes.gameObject.SetActive(ativarOP);
Qualidades.gameObject.SetActive(ativarOP);
BotaoVoltar.gameObject.SetActive(ativarOP);
BotaoSalvarPref.gameObject.SetActive(ativarOP);
}
//=========VOIDS DE SALVAMENTO==========//
private void SalvarPreferencias()
{
if (CaixaModoJanela.isOn == true)
{
modoJanelaAtivo = 1;
telaCheiaAtivada = false;
}
else
{
modoJanelaAtivo = 0;
telaCheiaAtivada = true;
}
PlayerPrefs.SetFloat("VOLUME", BarraVolume.value);
PlayerPrefs.SetInt("qualidadeGrafica", Qualidades.value);
PlayerPrefs.SetInt("modoJanela", modoJanelaAtivo);
PlayerPrefs.SetInt("RESOLUCAO", Resolucoes.value);
resolucaoSalveIndex = Resolucoes.value;
AplicarPreferencias();
}
private void AplicarPreferencias()
{
VOLUME = PlayerPrefs.GetFloat("VOLUME");
QualitySettings.SetQualityLevel(PlayerPrefs.GetInt("qualidadeGrafica"));
Screen.SetResolution(resolucoesSuportadas[resolucaoSalveIndex].width, resolucoesSuportadas[resolucaoSalveIndex].height, telaCheiaAtivada);
}
IEnumerator CenaDeCarregamento(string cena){
AsyncOperation carregamento = SceneManager.LoadSceneAsync (cena);
while (!carregamento.isDone) {
Loading.progresso = (int)(carregamento.progress * 100.0f);
yield return null;
}
}
//===========VOIDS NORMAIS=========//
void Update(){
if (Loading.TextoProgresso != null) {
Loading.TextoProgresso.text = Loading.textoOriginal + " " + Loading.progresso + "%";
}
if (Loading.barraDeCarregamento != null) {
Loading.barraDeCarregamento.fillAmount = (Loading.progresso / 100.0f);
}
if (SceneManager.GetActiveScene().name != nomeDaCena){
AudioListener.volume = VOLUME;
Destroy(gameObject);
}
}
private void Jogar(){
Opcoes (false);
BotaoJogar.gameObject.SetActive(false);
BotaoOpcoes.gameObject.SetActive(false);
BotaoSair.gameObject.SetActive(false);
Loading.barraDeCarregamento.enabled = true;
Loading.TextoProgresso.enabled = true;
StartCoroutine (CenaDeCarregamento (nomeCenaJogo));
}
private void Sair(){
Application.Quit();
}
}
Re: Ajuda script de loading
Valeu funcionou :D Voce é top Com Essa Habilidade voce deve estar fazendo algum jogo bem top
Eduardoro39- Avançado
- PONTOS : 3257
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Tópicos semelhantes
» [Ajuda] Sistema de Loading Level
» Duvida script de loading com controle
» Ajuda Em Script
» [AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» Duvida script de loading com controle
» Ajuda Em Script
» [AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos