SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Modelagem de personagem e cenário
[____TÓPICO LIVRE____] FALE O QUE QUISER
Ajuda com Script "NullReferenceException: Object reference not set to an instance "
[AJUDA] Carro virando rapido de mais
Como usar uma animação de uma arma animada na Unity...
[TUTORIAL] Script de pulo para jogos 3D em geral (Unity - C#)
[RESOLVIDO] Instanciar um objeto como filho
Cor
Jogo 2d com obstáculos em movimento que quando batem no personagem ele vai para debaixo do chão
[Teste]Laqua - Jogo de slá oque
Jogo para Android, testem por favor
//Script com tuto//
[AJUA] JOGO MUDO SEM SOM!!!
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
[RESOLVIDO] Rádio por distancia
[_____CRONOGRAMA DO CANAL_____]
saindo do jogo caso um programa não estiver aberto
QUIOFOBIA DEMO-JOGO DE TERROR INDIE
Sistema CFD com Unity: Simular partículas com colisão em túnel de vento
[RESOLVIDO] Script destruir apenas o objeto que o tem
SISTEMA DE CARGA
[ERRO] Unity Bug Reporter
RIGIDBODY IR PARANDO DE QUICAR
ESTOU COM UM ERRO DE SCRIPT ALGUEM PODE ME AJUDAR
Procurando animador
tenho um script que faz o zombie atacar o jogador e tirar vida so que nao esta funcionando alguem pode me ajudar
Sistema de build place
[2 interiores Modelo] + Download Grátis --Para uso comercial!
Pode coolocar os jogos que aprendeu a fazer no youtube a venda?
sistema de combos e danos
PRECISO DE UMA PESSOA QUE DESENHE PERSONAGEM E CENARIO
Modelos 3D
ROLLER BALL DO STANDARD ASSETS
SCRIPT DE INTELIGENCIA ARTIFICIAL PARA ZUMBI, DESVIAR DE OBJETOS E ATACAR JOGADOR
[Resolvido]Trocar cena ao eliminar objetos
Menu Right Click igual Tibia
Sistema de Skins estilo CsGo ou Critical Ops...
[RESOLVIDO] Carro flutuando
TELA ROSA NO GAME
Como usar o Multi Touch para movimentar um personagem ?
[DUVIDA] Script Não Funciona
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
[Assets/Scripts] Repositório no Github com sistemas free.
// RAIN no unity//
[DÚVIDA]Texto Não Aparece Unity 5
Texturização para Game em android
Como fazer aparecer notificações no celular android?
Limite e Volta no transform translate
objeto descer ao apertar um botão
[RESOLVIDO]Erro com script OnTriggerEnter e BoxCollider
Duvida com script
Problema com Animation
Ajudem com efeito "gelatina" em modelos.
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Testem meu Jogo de Aventura
Inteligência Artificial
Como fazer 1 Portal
[Assets] modelos 3d
Da para criar com o unity?
Existe algum tipo de FPSController para android?
[TUTORIAL] Unity 5 - Porta automática
Problema com o MonoDevelop
Como melhorar desempenho de animações
Cena Loading para carregar proximo Level
como criar um jogo igual a guitar hero?
(Dúvida) Erro criar sala com Photon.
Dicas para otimizar o meu jogo
Sistema de construção estilo habbo
[ERRO] Fatal Error Unity!!!
Fazer um Certo Ponto da mesh mudar de cor como um botão piscando
PlayerPrefs
Dúvida sobre instantiate!
Footsteps no CharacterController (Unity 5)
Como fazer objetos não atravessar paredes usando transform.Translate?
Quando meu inimigo morre todos morrem, alguem ajuda ?
Asset Store
Mudar cor de um material por Script de forma suave
[Dúvida] Otimização
[DUVIDA] Como utilizar o touch no Android em um jogo 2D
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
Mudança no NavMeshAgent?
Script para saber se ena está ativa ou carregada
Duvida
Inserir uma página da web dentro do meu jogo
[TUTORIAL] Acessar propriedades dos SHADERS através de SCRIPTS
// Sistema de Afogamento//
Inimigo seguir quando ver o player
Jogo da Memória para crianças. (Android)
(Dúvida) Mirar em terceira pessoa.
Eu produzi esse jogo na unity e gostaria que vocês testassem e avaliassem
I.A Que ataca qualquer coisa inclusive Players..
[DUVIDA]Pergunta Aleatória
Teclado igual o jogo do milhão
Modelos 3d para uso gratuito ou comercial
[TUTORIAL] Unity 5- Sistema de PLATAFORMAS COM ROTAS
///Duvida///
Unity 5 lag com muitas arvores e grass
Problema com "Non-convex MeshCollider"
[____REGRAS DO FÓRUM____]
Hoje à(s) 6:19 pm
Hoje à(s) 6:00 pm
Hoje à(s) 5:29 pm
Hoje à(s) 5:27 pm
Hoje à(s) 5:05 pm
Hoje à(s) 3:50 pm
Hoje à(s) 2:15 pm
Hoje à(s) 1:51 pm
Hoje à(s) 1:16 pm
Hoje à(s) 10:42 am
Hoje à(s) 10:32 am
Hoje à(s) 10:09 am
Hoje à(s) 10:06 am
Hoje à(s) 5:38 am
Hoje à(s) 5:27 am
Hoje à(s) 5:25 am
Hoje à(s) 5:24 am
Hoje à(s) 4:59 am
Hoje à(s) 4:48 am
Hoje à(s) 4:33 am
Ontem à(s) 7:02 pm
Ontem à(s) 6:30 pm
Ontem à(s) 6:27 pm
Ontem à(s) 4:47 pm
Ontem à(s) 3:13 pm
Ontem à(s) 12:32 pm
Ontem à(s) 3:50 am
Sex Fev 24, 2017 11:38 pm
Sex Fev 24, 2017 10:38 pm
Sex Fev 24, 2017 10:10 pm
Sex Fev 24, 2017 9:31 pm
Sex Fev 24, 2017 8:40 pm
Sex Fev 24, 2017 8:39 pm
Sex Fev 24, 2017 7:26 pm
Sex Fev 24, 2017 7:17 pm
Sex Fev 24, 2017 6:12 pm
Sex Fev 24, 2017 3:54 pm
Sex Fev 24, 2017 9:44 am
Sex Fev 24, 2017 2:49 am
Qui Fev 23, 2017 9:09 pm
Qui Fev 23, 2017 7:21 pm
Qui Fev 23, 2017 2:50 pm
Qui Fev 23, 2017 12:18 pm
Qui Fev 23, 2017 12:06 pm
Qua Fev 22, 2017 11:32 pm
Qua Fev 22, 2017 8:27 pm
Qua Fev 22, 2017 8:19 pm
Qua Fev 22, 2017 6:26 pm
Qua Fev 22, 2017 5:53 pm
Qua Fev 22, 2017 3:15 pm
Qua Fev 22, 2017 2:20 pm
Qua Fev 22, 2017 1:58 pm
Qua Fev 22, 2017 11:52 am
Qua Fev 22, 2017 9:18 am
Qua Fev 22, 2017 12:36 am
Ter Fev 21, 2017 10:18 pm
Ter Fev 21, 2017 9:15 pm
Ter Fev 21, 2017 8:45 pm
Ter Fev 21, 2017 8:21 pm
Ter Fev 21, 2017 7:20 pm
Ter Fev 21, 2017 4:40 pm
Ter Fev 21, 2017 3:26 pm
Ter Fev 21, 2017 1:53 pm
Ter Fev 21, 2017 1:18 pm
Ter Fev 21, 2017 11:42 am
Ter Fev 21, 2017 11:25 am
Seg Fev 20, 2017 10:43 pm
Seg Fev 20, 2017 10:00 pm
Seg Fev 20, 2017 9:04 pm
Seg Fev 20, 2017 9:02 pm
Seg Fev 20, 2017 9:00 pm
Seg Fev 20, 2017 8:56 pm
Seg Fev 20, 2017 8:49 pm
Seg Fev 20, 2017 8:46 pm
Seg Fev 20, 2017 8:44 pm
Seg Fev 20, 2017 8:42 pm
Seg Fev 20, 2017 8:40 pm
Seg Fev 20, 2017 8:36 pm
Seg Fev 20, 2017 8:28 pm
Seg Fev 20, 2017 8:25 pm
Seg Fev 20, 2017 8:23 pm
Seg Fev 20, 2017 8:19 pm
Seg Fev 20, 2017 8:14 pm
Seg Fev 20, 2017 8:12 pm
Seg Fev 20, 2017 7:37 pm
Seg Fev 20, 2017 3:35 pm
Seg Fev 20, 2017 3:19 pm
Seg Fev 20, 2017 8:54 am
Seg Fev 20, 2017 12:10 am
Dom Fev 19, 2017 10:55 pm
Dom Fev 19, 2017 9:18 pm
Dom Fev 19, 2017 9:02 pm
Dom Fev 19, 2017 8:31 pm
Dom Fev 19, 2017 6:37 pm
Dom Fev 19, 2017 6:32 pm
Dom Fev 19, 2017 3:46 pm
Dom Fev 19, 2017 3:33 pm
Dom Fev 19, 2017 10:43 am
Sab Fev 18, 2017 11:53 pm
dstaroski
KNouT
Luiz Mauro TCC
AndyShow
Sheyk
lucasfera15
PauloFR
richerd
Jogos mini
dstaroski
dstaroski
Zecandy
JhonnyBravo
Aprendiz
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
dstaroski
diogodavilafernandes
Weverton Borges da Silva
AndyShow
MateusWTP
zBanidor
AndyShow
joabr
Junim
lucasfera15
PauloFR
PauloFR
AndyShow
weslleyFx
AndyShow
nobruzada
BatataName
GabrielRaaposo
MarcosSchultz
dimmuo
Zecandy
Blue Ark
DoctorGame15
PauloFR
thiagograssi
thiagograssi
PauloFR
Junim
anizioNoob
lucasfera15
Fábiow775
MateusWTP
zBanidor
tom ramber
PauloFR
Willian Wii
Willian Wii
silva75
zZAndersonZz
sabbath
Marc7
thiagograssi
rafaelllsd
MarcosSchultz
Luiz Mauro TCC
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
CanabravaBR
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Zecandy
AndyShow
Pulitano
artplayer
niao
vegasbr
Manawydan
rafaelllsd
joabr
Blue Ark
Zecandy
AndyShow
regisbaldo
MarcosSchultz

Ajuda script de loading

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Ajuda script de loading

Mensagem por Eduardoro39 em Sab Ago 06, 2016 11:51 pm

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
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
Avançado

Masculino PONTOS : 348
REPUTAÇÃO : 8
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: Ajuda script de loading

Mensagem por MarcosSchultz em Dom Ago 07, 2016 12:11 am

Está usando o script de menu 100% igual ao do tutorial ou já modificou ele?

Posta ele, que ai não tem erro.

MarcosSchultz
Administrador

Masculino PONTOS : 7857
REPUTAÇÃO : 1075
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Resolvido Re: Ajuda script de loading

Mensagem por Eduardoro39 em Dom Ago 07, 2016 12:20 am

MarcosSchultz escreveu:Está usando o script de menu 100% igual ao do tutorial ou já modificou ele?

Posta ele, que ai não tem erro.
Ingualzinho
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
Avançado

Masculino PONTOS : 348
REPUTAÇÃO : 8
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: Ajuda script de loading

Mensagem por MarcosSchultz em Dom Ago 07, 2016 11:04 pm

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.

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();
   }
}

MarcosSchultz
Administrador

Masculino PONTOS : 7857
REPUTAÇÃO : 1075
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Resolvido Re: Ajuda script de loading

Mensagem por Eduardoro39 em Seg Ago 08, 2016 12:11 am

Valeu funcionou Very Happy Voce é top Com Essa Habilidade voce deve estar fazendo algum jogo bem top

Eduardoro39
Avançado
Avançado

Masculino PONTOS : 348
REPUTAÇÃO : 8
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum