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:
Como manter um valor salvo na cena1 e zera-lo na outra cena para uma nova pontuação???
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
DUVIDA MENSAGEM APARECER NA TELA
Instanciar Objeto em Distancia Certa!
Perde vida e CheckPoint?
alguem pode me ajuda?
[ENQUETE] Modelo com normal map e diferença - Aula de Bake
KIT de Tiro em 3° Pessoa
Porta com Códicos para abri-la
Tunagem de veiculos
VENHAM CONTEMPLAR CUBOID! E entrem para a equipe!
Precisamos de Modeladores e Animadores 3D
Ajuda em Script de colisao na unity
Como separar um audio na unity ?
Sistema de Localization " Multi Idiomas para jogos"
[Game] World Adventure (Nova Beta)
Esvaziar GridLayoutGroup.
Duvida Com Tiro LineCast Jogo 2D
Cursos Para Areá da Informatica
Scale do objeto conforme resolução de tela
Ignorar Objetos anteriores da Lista
Minha textura não aparece
Formação de equipa para o Jogo Until the last
[Alpha Android] - Night Hunter DevLog - Action RPG (25 de julho de 2017) Baixe!
Dúvida de Botões mobile, no c#???
[DEVLOG] Projeto - Girl Blade
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
Quanto custa $$$ ?
Resolução De Tela x 2D Mobile Game
Load e Save?
(DUVIDA)PlayerPrefs
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
Visual Stuido Duvida SIMPLES !! ME AJUDEM !! HELP
Duvida com o visual studio
Tutorial de Fps Multiplayer
[____ASSET____] MS Vehicle System (FREE VERSION)
Eu não consigo abrir o monodevelop
Erro ao alterar variável em tempo de execução !???
Como posso fazer para que o braço do meu personagem siga a minha câmera?
Inimigo Em C# Seguir e Atacar o Player !
Editar um material individual.
[TUTORIAL] Unity 5 - Botão contínuo usando UI (Manter pressionado)
clicar com o botão direito do mouse em um BOTÃO
Como criar a mira de armas em personagens em terceira pessoa
Como usar o script da unity "MouseLook" em outros scripts ?
[TUTORIAL] Camera orbital com zoom (scroll)
[DUVIDA]Como usar o setActive no photon
Diminuir a velocidade do veiculo Ativa um setActive
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
Script para Câmera em primeira pessoa.
[TUTORIAL] Luz Principal,Luz de Freio,Piscas para Carro,Moto,Caminhão,Ônibus,Etc...
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[_____CRONOGRAMA DO CANAL_____]
Pulo 2D
Rotação apontando para um Objeto.
Baixe grátis modelos 3D - Hospital + objetos e personagens equipados com ossos
Controlar luz de fundo no Android
[RESOLVIDO] Script para cubo aparecer
Criar SplashScreen entre duas cenas
Modelagem do braço personagem
Duvida com Animacoes
(Avaliem) Menu interativo simples
Gerador de mesh procedual
Opiniões para carregar prefabs pesados: Resources, Asset Bundles ou cenas?
Como coloco video do youtube
Audio Player C#
Algum tutorial sobre multiplayer simples é em portugues???
Meu jogo: Cuboid (v0.1.0)
VSync ??
Duvida com o Terrain da Unity5
Vagas para o Naufrágio, um jogo sobrevivência que estou desenvolvendo
Ajuda para desenvolvimentos dos jogos de vocês
Sistema de Trafego de Carros e Pedestres!
[RESOLVIDO] Braço esta desaparecendo alguem pode me dizer? vejam o video
inimigo atirar no player
Update desenvolvimento do meu jogo Epic Survival (Re Survival :D)
Como retornar "false" se um objeto não existir?
Opinião sobre modelo feito no Blender
Como faz a geração de terreno aleatório???
Bugs na textura
O que voces esperam em um jogo onde voce e um peixe???
[Equipe] Equipe para jogo tower defense low poly
COMO FAZER UM SISTEMA DE PARKOUR (SEM ANIMACAO) IDEIAS
Arrastar um botão ao manter o mouse pressionado
como reconhecer a ''face'' de uma mesh da agua
Oque acham dessa Meia Historia para meu jogo de sobrevivencia!
PESSOAL PRA VOCÊS OQUE TEM QUE TER EM UM JOGO DE SOBREVIVENCIA?
Duvidas sobre a criação de jogos para celular
Grupo de desenvolvimento no Discord
[RESOLVIDO] jogo buga a textura (manchas azuis e vermelhas)
ROTACIONAR NO ÂNGULO DO GAMEOBJECT
dúvida sobre resolução para mobile
[RESOLVIDO] CAMERA NÃO VISUALIZA LENS FLARE
Ajuda com scripts de inimigo e player'' interação de zumbi e player''
como abrir o app de email a partir de um jogo unity ?
[DÚVIDA] [2D] ALTERAR SPRITE SEM PRECISAR IMPORTAR DE NOVO
Bug Unity ?
Criar Cidade Para Game
[TUTORIAL] Suspensão de carro com SLIDER
Hoje à(s) 9:48 pm
Hoje à(s) 9:36 pm
Hoje à(s) 9:35 pm
Hoje à(s) 9:33 pm
Hoje à(s) 7:21 pm
Hoje à(s) 7:02 pm
Hoje à(s) 6:40 pm
Hoje à(s) 5:10 pm
Hoje à(s) 5:06 pm
Hoje à(s) 5:03 pm
Hoje à(s) 4:04 pm
Hoje à(s) 3:54 pm
Hoje à(s) 3:11 pm
Hoje à(s) 1:33 pm
Hoje à(s) 11:46 am
Hoje à(s) 10:26 am
Hoje à(s) 9:56 am
Hoje à(s) 8:59 am
Ontem à(s) 11:41 pm
Ontem à(s) 11:24 pm
Ontem à(s) 11:16 pm
Ontem à(s) 10:37 pm
Ontem à(s) 9:52 pm
Ontem à(s) 9:42 pm
Ontem à(s) 8:52 pm
Ontem à(s) 8:19 pm
Ontem à(s) 7:59 pm
Ontem à(s) 6:58 pm
Ontem à(s) 6:50 pm
Ontem à(s) 6:45 pm
Ontem à(s) 6:35 pm
Ontem à(s) 5:29 pm
Ontem à(s) 5:20 pm
Ontem à(s) 5:17 pm
Ontem à(s) 4:12 pm
Ontem à(s) 4:03 pm
Ontem à(s) 3:47 pm
Ontem à(s) 3:43 pm
Ontem à(s) 3:29 pm
Ontem à(s) 3:26 pm
Ontem à(s) 3:22 pm
Ontem à(s) 3:20 pm
Ontem à(s) 3:19 pm
Ontem à(s) 3:17 pm
Ontem à(s) 3:13 pm
Ontem à(s) 3:12 pm
Ontem à(s) 3:08 pm
Ontem à(s) 3:05 pm
Ontem à(s) 2:41 pm
Ontem à(s) 2:28 pm
Ontem à(s) 2:27 pm
Ontem à(s) 2:22 pm
Ontem à(s) 1:55 pm
Ontem à(s) 1:54 pm
Ontem à(s) 1:50 pm
Ontem à(s) 12:35 pm
Ontem à(s) 11:43 am
Ontem à(s) 9:42 am
Ontem à(s) 9:22 am
Ontem à(s) 8:05 am
Ontem à(s) 1:58 am
Ter Jul 25, 2017 9:37 pm
Ter Jul 25, 2017 3:58 pm
Ter Jul 25, 2017 9:26 am
Ter Jul 25, 2017 6:38 am
Ter Jul 25, 2017 2:42 am
Ter Jul 25, 2017 2:19 am
Seg Jul 24, 2017 11:25 pm
Seg Jul 24, 2017 10:51 pm
Seg Jul 24, 2017 9:53 pm
Seg Jul 24, 2017 9:00 pm
Seg Jul 24, 2017 8:54 pm
Seg Jul 24, 2017 8:11 pm
Seg Jul 24, 2017 5:04 pm
Seg Jul 24, 2017 2:20 pm
Seg Jul 24, 2017 2:09 pm
Seg Jul 24, 2017 12:54 pm
Seg Jul 24, 2017 9:18 am
Dom Jul 23, 2017 10:16 pm
Dom Jul 23, 2017 7:53 pm
Dom Jul 23, 2017 5:36 pm
Dom Jul 23, 2017 5:34 pm
Dom Jul 23, 2017 4:14 pm
Dom Jul 23, 2017 2:52 pm
Dom Jul 23, 2017 10:51 am
Dom Jul 23, 2017 5:35 am
Dom Jul 23, 2017 5:32 am
Dom Jul 23, 2017 5:30 am
Dom Jul 23, 2017 1:56 am
Sab Jul 22, 2017 9:42 pm
Sab Jul 22, 2017 8:31 pm
Sab Jul 22, 2017 7:30 pm
Sab Jul 22, 2017 7:19 pm
Sab Jul 22, 2017 4:05 pm
Sab Jul 22, 2017 3:04 pm
Sab Jul 22, 2017 2:35 pm
Sab Jul 22, 2017 10:49 am
Sab Jul 22, 2017 9:53 am
Sab Jul 22, 2017 6:19 am
Duarte
Nyland
Diego Felix
Duarte
Callyde Jr
wandelguina
MonsaM
tom ramber
Zecandy
thiagograssi
NyanHeavyBR
EDTV
giocanhestro98
ManoTrevor
IanLuan
Mateus2583
Gilliard
roger224
Duarte
mathalx
Duarte
Psyvamp
xXGianlucksXx
IanLuan
thiagograssi
dstaroski
nilsonnolasco
mathalx
mathalx
Callyde Jr
Zecandy
thiagograssi
ManoTrevor
ManoTrevor
Rodz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
joabr
MarcosSchultz
MarcosSchultz
dstaroski
MarcosSchultz
MarcosSchultz
MarcosSchultz
joabr
dstaroski
glauco
edfisicaweb
dstaroski
rafaelllsd
zMicael
Huser
marcos4503
Madness
thiagograssi
fecirineu
cody0033
Extreme Craft
marcos4503
Onagro
arthearthutr
Duarte
glauco
deikson
zMicael
Joaopm1
dstaroski
Madness
Yagogomes
IanLuan
IanLuan
rafaelllsd
ManoTrevor
thzin
vermelhinho
vermelhinho
vermelhinho
dimmuo
Extreme Craft
marcos4503
marcos4503
Diego Felix
Robinsandi
marcos4503
IanLuan
sidney1234
Duarte
Gabriel César O

[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Página 1 de 2 1, 2  Seguinte

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

TUTORIAL [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Sex Abr 22, 2016 2:58 pm

É importantíssimo ver o vídeo para entender como utilizar o script

Vídeo:



Script:
Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityStandardAssets.Characters.FirstPerson;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;
[RequireComponent(typeof(FirstPersonController))]
public class MenuPause : MonoBehaviour {
   public Button BotaoRetornarAoJogo,BotaoOpcoes,BotaoVoltarAoMenu;
   [Space(20)]
   public Slider BarraVolume;
   public Toggle CaixaModoJanela;
   public Dropdown Resolucoes, Qualidades;
   public Button BotaoVoltar, BotaoSalvarPref;
   [Space(20)]
   public Text textoVol;
   public string nomeCenaMenu = "Menu";
   private float VOLUME;
   private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
   private bool telaCheiaAtivada, menuParte1Ativo, menuParte2Ativo;
   private Resolution[] resolucoesSuportadas;
   private FirstPersonController controlador;

   void Awake(){
      resolucoesSuportadas = Screen.resolutions;
      controlador = GetComponent<FirstPersonController> ();
   }

   void Start () {
      Opcoes (false,false);
      ChecarResolucoes ();
      AjustarQualidades ();
      Time.timeScale = 1;
      AudioListener.volume = 1;
      BarraVolume.minValue = 0;
      BarraVolume.maxValue = 1;
      menuParte1Ativo = menuParte2Ativo = false;
      if (PlayerPrefs.HasKey ("RESOLUCAO")) {
         int numResoluc = PlayerPrefs.GetInt ("RESOLUCAO");
         if (resolucoesSuportadas.Length <= numResoluc) {
            PlayerPrefs.DeleteKey ("RESOLUCAO");
         }
      }
      //=============== 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==========//
      BotaoVoltarAoMenu.onClick = new Button.ButtonClickedEvent();
      BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
      BotaoRetornarAoJogo.onClick = new Button.ButtonClickedEvent();
      BotaoVoltar.onClick = new Button.ButtonClickedEvent();
      BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
      //
      BotaoVoltarAoMenu.onClick.AddListener(() => VoltarAoMenu());
      BotaoOpcoes.onClick.AddListener(() => Opcoes(false,true));
      BotaoRetornarAoJogo.onClick.AddListener(() => Opcoes(false,false));
      BotaoVoltar.onClick.AddListener(() => Opcoes(true,false));
      BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
   }
   void Update(){
      if (Input.GetKeyDown (KeyCode.Escape)) {
         if (menuParte1Ativo == false && menuParte2Ativo == false) {
            menuParte1Ativo = true;
            menuParte2Ativo = false;
            Opcoes (true, false);
            Time.timeScale = 0;
            AudioListener.volume = 0;
         } else if (menuParte1Ativo == true && menuParte2Ativo == false) {
            menuParte1Ativo = menuParte2Ativo = false;
            Opcoes (false, false);
            Time.timeScale = 1;
            AudioListener.volume = VOLUME;
         }
         else if (menuParte1Ativo == false && menuParte2Ativo == true) {
            menuParte1Ativo = true;
            menuParte2Ativo = false;
            Opcoes (true, false);
            Time.timeScale = 0;
            AudioListener.volume = 0;
         }
      }
      if (menuParte1Ativo == true || menuParte2Ativo == true) {
         Cursor.visible = true;
         controlador.enabled = false;
      } else {
         Cursor.visible = false;
         controlador.enabled = true;
      }
   }
   //=========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, bool ativarOP2){
      BotaoVoltarAoMenu.gameObject.SetActive (ativarOP);
      BotaoOpcoes.gameObject.SetActive (ativarOP);
      BotaoRetornarAoJogo.gameObject.SetActive (ativarOP);
      //
      textoVol.gameObject.SetActive (ativarOP2);
      BarraVolume.gameObject.SetActive (ativarOP2);
      CaixaModoJanela.gameObject.SetActive (ativarOP2);
      Resolucoes.gameObject.SetActive (ativarOP2);
      Qualidades.gameObject.SetActive (ativarOP2);
      BotaoVoltar.gameObject.SetActive (ativarOP2);
      BotaoSalvarPref.gameObject.SetActive (ativarOP2);
      if (ativarOP == true && ativarOP2 == false) {
         menuParte1Ativo = true;
         menuParte2Ativo = false;
      }
      else if (ativarOP == false && ativarOP2 == true) {
         menuParte1Ativo = false;
         menuParte2Ativo = true;
      }
      else if (ativarOP == false && ativarOP2 == false) {
         menuParte1Ativo = false;
         menuParte2Ativo = false;
         Time.timeScale = 1;
         AudioListener.volume = VOLUME;
      }
   }
   //=========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);
   }
   private void VoltarAoMenu(){
      SceneManager.LoadScene (nomeCenaMenu);
   }
}


Última edição por MarcosSchultz em Dom Jun 12, 2016 3:23 pm, editado 2 vez(es)
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Sex Abr 22, 2016 3:21 pm

legal vai servir de ajuda pra muita gente Very Happy

aborde algo sobre expressão lambda Very Happy
pra quem que saber mais sobre expressão lambda https://msdn.microsoft.com/pt-br/library/bb397687.aspx
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Budyw em Qua Abr 27, 2016 7:43 pm

Como implementar um text ou imagem escrito "SALVO!" depois de clicar no botão salvar??

Eu consegui implementar um txt, mas fica tipo aparece e desaparece rapido sem efeito nenhum, não consegui colocar um FadeOut, ou algum efeito de desaparecer lentamente.

Budyw
Membro
Membro

Masculino PONTOS : 530
REPUTAÇÃO : 4
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Qua Abr 27, 2016 7:57 pm

Budyw escreveu:Como implementar um text ou imagem escrito "SALVO!" depois de clicar no botão salvar??

Eu consegui implementar um txt, mas fica tipo aparece e desaparece rapido sem efeito nenhum, não consegui colocar um FadeOut, ou algum efeito de desaparecer lentamente.

use um método IEnumerator

algo parecido com isso
Código:


    public Text saveText;

    IEnumerator SaveText()
    {
        saveText.enabled = true;
        saveText.CrossFadeAlpha(0, 1, false);
        yield return new WaitForSeconds(1.5f);
        saveText.enabled = false;
    }
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Budyw em Qua Abr 27, 2016 8:28 pm

Não estou conseguindo aplicar esse script, eu adiciono o texto, coloco ele no saveText; depois chamo IEnumerator SaveText() na void SalvarPreferencias() que é o botão de Salvar, mas o texto fica la parado nem some nem aparece.

Budyw
Membro
Membro

Masculino PONTOS : 530
REPUTAÇÃO : 4
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Qua Abr 27, 2016 8:55 pm

Budyw escreveu:Não estou conseguindo aplicar esse script, eu adiciono o texto, coloco ele no saveText; depois chamo IEnumerator SaveText() na void SalvarPreferencias() que é o botão de Salvar, mas o texto fica la parado nem some nem aparece.

Bom para chamar o metodo do tipo IEnumerator no unity vc usa StartCoroutine(SaveText());

Código:

StartCoroutine(SaveText());
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Budyw em Qua Abr 27, 2016 9:48 pm

Deu certo weslleyFx, funcionou como o que eu queria! Valeu Very Happy

Budyw
Membro
Membro

Masculino PONTOS : 530
REPUTAÇÃO : 4
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Qua Abr 27, 2016 9:51 pm

Budyw escreveu:Deu certo weslleyFx, funcionou como o que eu queria! Valeu Very Happy

Very Happy
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Matheus Fiori em Seg Maio 02, 2016 11:19 am

Estou tendo um problema com o som quando eu volto para o menu principal os sons não funcionam mais

Matheus Fiori
Iniciante
Iniciante

PONTOS : 629
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Seg Maio 02, 2016 11:47 am

Matheus Fiori escreveu:Estou tendo um problema com o som quando eu volto para o menu principal os sons não funcionam mais

Mostre o que vc fez
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Matheus Fiori em Seg Maio 02, 2016 12:05 pm




Bom é um menu teste pra aplicar no jogo, mas dou play áudios da cena e eles funcionam , mas quando vou e volto da outra cena eles param de funcionar

código do Menu da primeira imagem
Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;

public class volta : MonoBehaviour {

 public string nomedacena = "" ;
 public Button voltacena ;
 // Use this for initialization
 void Start () {

 voltacena.onClick = new Button.ButtonClickedEvent();
 voltacena.onClick.AddListener(() => VoltarAoMenu());

 }

 private void VoltarAoMenu(){
 
 SceneManager.LoadScene (nomedacena);
 }

 // Update is called once per frame
 void Update () {
 
 }
}

código do menu da segunda imagem lá os áudios funcionam mesmo após trocar de cena e voltar
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 BotaoRetornarAoJogo,BotaoOpcoes,BotaoVoltarAoMenu;
 [Space(20)]
 public Slider BarraVolume;
 public Toggle CaixaModoJanela;
 public Dropdown Resolucoes, Qualidades;
 public Button BotaoVoltar, BotaoSalvarPref;
 [Space(20)]
 public Text textoVol;
 public string nomeCenaMenu = "Menu";
 private float VOLUME;
 private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
 private bool telaCheiaAtivada, menuParte1Ativo, menuParte2Ativo;
 private Resolution[] resolucoesSuportadas;

 void Awake(){
 resolucoesSuportadas = Screen.resolutions;

 }

 void Start () {
 Opcoes (false,false);
 ChecarResolucoes ();
 AjustarQualidades ();
 Time.timeScale = 1;
 AudioListener.volume = 1;
 BarraVolume.minValue = 0;
 BarraVolume.maxValue = 1;
 menuParte1Ativo = menuParte2Ativo = false;
 //=============== 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==========//
 BotaoVoltarAoMenu.onClick = new Button.ButtonClickedEvent();
 BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
 BotaoRetornarAoJogo.onClick = new Button.ButtonClickedEvent();
 BotaoVoltar.onClick = new Button.ButtonClickedEvent();
 BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
 //
 BotaoVoltarAoMenu.onClick.AddListener(() => VoltarAoMenu());
 BotaoOpcoes.onClick.AddListener(() => Opcoes(false,true));
 BotaoRetornarAoJogo.onClick.AddListener(() => Opcoes(false,false));
 BotaoVoltar.onClick.AddListener(() => Opcoes(true,false));
 BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
 }
 void Update(){
 if (Input.GetKeyDown (KeyCode.Escape)) {
 if (menuParte1Ativo == false && menuParte2Ativo == false) {
 menuParte1Ativo = true;
 menuParte2Ativo = false;
 Opcoes (true, false);
 Time.timeScale = 0;
 AudioListener.volume = 0;
 } else if (menuParte1Ativo == true && menuParte2Ativo == false) {
 menuParte1Ativo = menuParte2Ativo = false;
 Opcoes (false, false);
 Time.timeScale = 1;
 AudioListener.volume = VOLUME;
 }
 else if (menuParte1Ativo == false && menuParte2Ativo == true) {
 menuParte1Ativo = true;
 menuParte2Ativo = false;
 Opcoes (true, false);
 Time.timeScale = 0;
 AudioListener.volume = 0;
 }
 }
 if (menuParte1Ativo == true || menuParte2Ativo == true) {
 Cursor.visible = true;
 } else {
 Cursor.visible = true;
 }
 }
 //=========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, bool ativarOP2){
 BotaoVoltarAoMenu.gameObject.SetActive (ativarOP);
 BotaoOpcoes.gameObject.SetActive (ativarOP);
 BotaoRetornarAoJogo.gameObject.SetActive (ativarOP);
 //
 textoVol.gameObject.SetActive (ativarOP2);
 BarraVolume.gameObject.SetActive (ativarOP2);
 CaixaModoJanela.gameObject.SetActive (ativarOP2);
 Resolucoes.gameObject.SetActive (ativarOP2);
 Qualidades.gameObject.SetActive (ativarOP2);
 BotaoVoltar.gameObject.SetActive (ativarOP2);
 BotaoSalvarPref.gameObject.SetActive (ativarOP2);
 if (ativarOP == true && ativarOP2 == false) {
 menuParte1Ativo = true;
 menuParte2Ativo = false;
 }
 else if (ativarOP == false && ativarOP2 == true) {
 menuParte1Ativo = false;
 menuParte2Ativo = true;
 }
 else if (ativarOP == false && ativarOP2 == false) {
 menuParte1Ativo = false;
 menuParte2Ativo = false;
 Time.timeScale = 1;
 AudioListener.volume = VOLUME;
 }
 }
 //=========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);
 }
 private void VoltarAoMenu(){
 SceneManager.LoadScene (nomeCenaMenu);
 }
}

Matheus Fiori
Iniciante
Iniciante

PONTOS : 629
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Seg Maio 02, 2016 12:41 pm

vc já tentou da play por script ?
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Matheus Fiori em Seg Maio 02, 2016 12:59 pm

weslleyFx escreveu:vc já tentou da play por script ?
Você diz por cenas separadas ?não entendi muito bem

Matheus Fiori
Iniciante
Iniciante

PONTOS : 629
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Seg Maio 02, 2016 1:42 pm

No script do menu da um play no start talvez seja um bug do unity
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Matheus Fiori em Seg Maio 02, 2016 2:38 pm

weslleyFx escreveu:No script do menu da um play no start talvez seja um bug do unity
Bom eu fechei abri o unity startei só o com script menu e mesmo assim continua não funcionando na hora que vai pra uma cena e volta

Matheus Fiori
Iniciante
Iniciante

PONTOS : 629
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Seg Maio 02, 2016 5:59 pm

Matheus Fiori escreveu:
weslleyFx escreveu:No script do menu da um play no start talvez seja um bug do unity
Bom eu fechei abri o unity startei só o com script menu e mesmo assim continua não funcionando na hora que vai pra uma cena e volta


Bom eu testei e não tive o problema citado a cima
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Dom Jun 12, 2016 3:23 pm

Script atualizado para evitar erros de resolução
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Lucas Garcia Frade em Qua Nov 02, 2016 8:53 pm

Eae Marcos, blz?
Ta lembrado de mim?
Viu, tem como eu colocar uma mapa no menu?
Tipo tem um mini mapa no jogo normal, ai quando eu abro o menu aparece o mapa do mundo todo.
Seria tipo colocar as imagens da camera no menu
Tem como?

Lucas Garcia Frade
Avançado
Avançado

Masculino PONTOS : 1089
REPUTAÇÃO : 7
Idade : 15
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Sex Nov 04, 2016 12:32 am

Lucas Garcia Frade escreveu:Eae Marcos, blz?
Ta lembrado de mim?
Viu, tem como eu colocar uma mapa no menu?
Tipo tem um mini mapa no jogo normal, ai quando eu abro o menu aparece o mapa do mundo todo.
Seria tipo colocar as imagens da camera no menu
Tem como?

Tem como criar um tópico específico para isto?

Tem como fazer sim, e é bem fácil... da para fazer um plano simples com uma RenderTexture, dentre várias outras coisas.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por darkdrezinho em Dom Nov 06, 2016 7:53 pm

marcos schultz tinha tado error mas fucionou dx pa la

darkdrezinho
Iniciante
Iniciante

PONTOS : 274
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MeverPlays em Sex Nov 11, 2016 2:36 pm

tem um bugzinho nesse script q é bastante chato.
tipo quando da play ele diz q o audio listener inicia em 1, aí se eu salvar em 0 e sair do play, quando eu der play dnv ele inicia com 1 pois no start ta pra iniciar com 1, aí so fica no valor q eu salvei (0) se eu pausar e depois despausar, aí eu queria saber se tem como resolver isso :/

ja tentei isso:
Código:
AudioListener.volume = VOLUME;

pra no caso ele iniciar no valor q tiver sido salvo, porém acontece o contrário do q eu falei acima.. ele inicia em 0.
avatar
MeverPlays
MembroAvançado

Masculino PONTOS : 1145
REPUTAÇÃO : 42
Áreas de atuação : SketchUp, Unity, Design.
Respeito as regras :

Ver perfil do usuário http://www.joltflipgames.ml

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Dom Nov 13, 2016 1:09 am

MeverPlays escreveu:tem um bugzinho nesse script q é bastante chato.
tipo quando da play ele diz q o audio listener inicia em 1, aí se eu salvar em 0 e sair do play, quando eu der play dnv ele inicia com 1 pois no start ta pra iniciar com 1, aí so fica no valor q eu salvei (0) se eu pausar e depois despausar, aí eu queria saber se tem como resolver isso :/

ja tentei isso:
Código:
AudioListener.volume = VOLUME;

pra no caso ele iniciar no valor q tiver sido salvo, porém acontece o contrário do q eu falei acima.. ele inicia em 0.

Tem sim, basta usar um PlayerPrefs, ou ajustar o script de acordo.

Ele é assim por que é feito para ser compatível com um outro tutorial de menu que tenho já feito.

Seria mais interessante você criar um novo tópico para esta dúvida, postando o seu script como está e especificando o que deseja fazer exatamente.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por victoraugusto em Seg Nov 21, 2016 1:13 am

queria saber se é dificil fazer a movimentação desses UI Buttons via teclado.

No meu caso eu preciso mover via joystick do xbox one, mas não consigo fazer, então eu adapto do teclado caso exista.

Tem como fazer a transição via teclado dos paineis (setactive)?

victoraugusto
Iniciante
Iniciante

Masculino PONTOS : 315
REPUTAÇÃO : 0
Idade : 21
Áreas de atuação : programacao
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Seg Nov 21, 2016 3:44 pm

victoraugusto escreveu:queria saber se é dificil fazer a movimentação desses UI Buttons via teclado.

No meu caso eu preciso mover via joystick do xbox one, mas não consigo fazer, então eu adapto do teclado caso exista.

Tem como fazer a transição via teclado dos paineis (setactive)?

Teria como especificar melhor o que está tentando fazer? Se possível, postar alguma print ou algo do tipo
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por victoraugusto em Seg Nov 21, 2016 7:31 pm

Nesta primeira imagem, tem 2 setas, uma indicando um UI button, e outra indicando o UI button como sendo a primeira seleção ao iniciar a cena,consigo movimentar com o controle pra cima e pra baixo normalmente, porem quando clico em por exemplo configurações, não consigo mais selecionar nada


e se eu volto para o menu, não consigo mais selecionar nada via joystick ou teclado.

A duvida seria, quando eu fizer a transição de paineis, como fazer com que o joystick ou teclado continue no comando da seleção e não o mouse.

Código:

public GameObject painelPrincipal;
    public GameObject painelConfiguracoes;
    public GameObject PainelCampanha;
    

 // Use this for initialization
 void Start () {
    
 }
 
 // Update is called once per frame
 void Update () {
 
 }

       public void BotaoMultiplayer()
    {
        painelPrincipal.SetActive(false);
        
    }
    public void botaoConfiguracoes()
    {
        painelPrincipal.SetActive(false);//Desativa o Painel Principal
        painelConfiguracoes.SetActive(true); //Ativa o Painel de Configurações
    }
    public void botaoSair()
    {
        Application.Quit(); //Fecha o jogo
    }

    public void botaoVoltar()
    {
        painelPrincipal.SetActive(true);//Ativa o Painel Principal
        painelConfiguracoes.SetActive(false); //Desativa o Painel de Configurações
        PainelCampanha.SetActive(false);

      
    }

    public void BotaoCampanha()
    {
        painelPrincipal.SetActive(false);
        PainelCampanha.SetActive(true);
        
    }

}
tem algum comando com Event System para que isso ocorra? 

Projeto de fim de bimestre da facul, obrigado pela ajuda q fornecem.

victoraugusto
Iniciante
Iniciante

Masculino PONTOS : 315
REPUTAÇÃO : 0
Idade : 21
Áreas de atuação : programacao
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Qui Nov 24, 2016 2:11 am

Putz, pior que não sei... Tenho 0 de experiência com dispositivos que usem controle, por que sou mais focado em PC/Android O.o

O que acontece é que você está usando o menu da maneira correta, com o InputModule, mas este Menu é feito meio que exclusivamente para jogos PC, pois ele se "auto constrói", deletando as opções que vem como padrão e recriando as configurações para jogar o que existe no PlayerPrefs nos botões. 

Acredito que este menu tenha que ser totalmente recriado para poder funcionar em dispositivos que usem controle para passear pela UI
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Moa em Dom Nov 27, 2016 3:32 pm

Alguém pode me dizer como que faz para parar todas as animações e audio Very Happy
avatar
Moa
Membro
Membro

Masculino PONTOS : 446
REPUTAÇÃO : 4
Idade : 16
Áreas de atuação : Programação

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Lucas Garcia Frade em Seg Nov 28, 2016 10:15 pm

Ei Marcos, to aki de novo, kkk, quando eu to no menu e aperto ESP pra sair o cursor fica travado no centro, porem visivel, ai preciso clicar pra ele desaparecer, como resolvo?

Lucas Garcia Frade
Avançado
Avançado

Masculino PONTOS : 1089
REPUTAÇÃO : 7
Idade : 15
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Ter Nov 29, 2016 3:27 am

Lucas Garcia Frade escreveu:Ei Marcos, to aki de novo, kkk, quando eu to no menu e aperto ESP pra sair o cursor fica travado no centro, porem visivel, ai preciso clicar pra ele desaparecer, como resolvo?

cursor travado no centro? você tem algum script com o comando lookCursor ?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Ter Nov 29, 2016 3:28 am

Moa escreveu:Alguém pode me dizer como que faz para parar todas as animações e audio Very Happy

São vários sistemas separados... As animações costumas ser paradas quando deixa o Time.timeScale = 0 nos scripts, mas os audios tem de ser pausados um porum nos AudioSources do cenário.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Lucas Garcia Frade em Ter Nov 29, 2016 8:00 pm

MarcosSchultz escreveu:
Lucas Garcia Frade escreveu:Ei Marcos, to aki de novo, kkk, quando eu to no menu e aperto ESP pra sair o cursor fica travado no centro, porem visivel, ai preciso clicar pra ele desaparecer, como resolvo?

cursor travado no centro? você tem algum script com o comando lookCursor ?
Mas eh pra ele ficar travado no centro msm, tipo, quando to no menu fica normal, mas quando aperto ESC ou Retornar, ele trava no centro (como é pra ser feito msm) mas não desaparece.


Última edição por Lucas Garcia Frade em Dom Dez 04, 2016 3:57 pm, editado 1 vez(es)

Lucas Garcia Frade
Avançado
Avançado

Masculino PONTOS : 1089
REPUTAÇÃO : 7
Idade : 15
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por cosmoplay em Qua Nov 30, 2016 11:40 am

Alguém sabe como colocar um efeito bloom ao entrar no menu ? 
não consigo trabalhar com efeitos no script.
dei uma leve aumentada no script para colocar uma imagem de fundo e para não travar o mouse.

Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityStandardAssets.Characters.FirstPerson;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;
using UnityStandardAssets.ImageEffects;
[RequireComponent(typeof(FirstPersonController))]
public class MenuPause : MonoBehaviour {
   public Image imagem;
   public Button BotaoRetornarAoJogo,BotaoOpcoes,BotaoVoltarAoMenu;
   [Space(20)]
   public Slider BarraVolume;
   public Toggle CaixaModoJanela;
   public Dropdown Resolucoes, Qualidades;
   public Button BotaoVoltar, BotaoSalvarPref;
   [Space(20)]
   public Text textoVol;
   public string nomeCenaMenu = "Menu";
   private float VOLUME;
   private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
   private bool telaCheiaAtivada, menuParte1Ativo, menuParte2Ativo;
   private Resolution[] resolucoesSuportadas;
   private FirstPersonController controlador;


   void Awake(){
      resolucoesSuportadas = Screen.resolutions;
      controlador = GetComponent<FirstPersonController> ();
   }

   void Start () {
      
      imagem.enabled = !imagem.enabled;
      Opcoes (false,false);
      ChecarResolucoes ();
      AjustarQualidades ();
      Time.timeScale = 1;
      AudioListener.volume = 1;
      BarraVolume.minValue = 0;
      BarraVolume.maxValue = 1;
      menuParte1Ativo = menuParte2Ativo = false;
      if (PlayerPrefs.HasKey ("RESOLUCAO")) {
         int numResoluc = PlayerPrefs.GetInt ("RESOLUCAO");
         if (resolucoesSuportadas.Length <= numResoluc) {
            PlayerPrefs.DeleteKey ("RESOLUCAO");
         }
      }
      //=============== 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==========//
      BotaoVoltarAoMenu.onClick = new Button.ButtonClickedEvent();
      BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
      BotaoRetornarAoJogo.onClick = new Button.ButtonClickedEvent();
      BotaoVoltar.onClick = new Button.ButtonClickedEvent();
      BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
      //
      BotaoVoltarAoMenu.onClick.AddListener(() => VoltarAoMenu());
      BotaoOpcoes.onClick.AddListener(() => Opcoes(false,true));
      BotaoRetornarAoJogo.onClick.AddListener(() => Opcoes(false,false));
      BotaoVoltar.onClick.AddListener(() => Opcoes(true,false));
      BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
   }
   void Update(){
      if (Input.GetKeyDown (KeyCode.Escape)) {
         if (menuParte1Ativo == false && menuParte2Ativo == false) {
            menuParte1Ativo = true;
            menuParte2Ativo = false;
            Opcoes (true, false);
            Time.timeScale = 0;
            AudioListener.volume = 0;
            imagem.enabled = true;
            Screen.lockCursor = false;
         } else if (menuParte1Ativo == true && menuParte2Ativo == false) {
            menuParte1Ativo = menuParte2Ativo = false;
            Opcoes (false, false);
            Time.timeScale = 1;
            AudioListener.volume = VOLUME;
            imagem.enabled = true;
            Screen.lockCursor = false;
         }
         else if (menuParte1Ativo == false && menuParte2Ativo == true) {
            menuParte1Ativo = true;
            menuParte2Ativo = false;
            Opcoes (true, false);
            Time.timeScale = 0;
            AudioListener.volume = 0;
            imagem.enabled = true;
            Screen.lockCursor = false;
         }
      }
      if (menuParte1Ativo == true || menuParte2Ativo == true) {
         Cursor.visible = true;
         controlador.enabled = false;
      } else {
         Cursor.visible = false;
         controlador.enabled = true;
         imagem.enabled = false;
         Cursor.visible = false;
      }
   }
   //=========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, bool ativarOP2){
      BotaoVoltarAoMenu.gameObject.SetActive (ativarOP);
      BotaoOpcoes.gameObject.SetActive (ativarOP);
      BotaoRetornarAoJogo.gameObject.SetActive (ativarOP);
      //
      textoVol.gameObject.SetActive (ativarOP2);
      BarraVolume.gameObject.SetActive (ativarOP2);
      CaixaModoJanela.gameObject.SetActive (ativarOP2);
      Resolucoes.gameObject.SetActive (ativarOP2);
      Qualidades.gameObject.SetActive (ativarOP2);
      BotaoVoltar.gameObject.SetActive (ativarOP2);
      BotaoSalvarPref.gameObject.SetActive (ativarOP2);
      if (ativarOP == true && ativarOP2 == false) {
         menuParte1Ativo = true;
         menuParte2Ativo = false;
      }
      else if (ativarOP == false && ativarOP2 == true) {
         menuParte1Ativo = false;
         menuParte2Ativo = true;
      }
      else if (ativarOP == false && ativarOP2 == false) {
         menuParte1Ativo = false;
         menuParte2Ativo = false;
         Time.timeScale = 1;
         AudioListener.volume = VOLUME;
      }
   }
   //=========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);
   }
   private void VoltarAoMenu(){
      SceneManager.LoadScene (nomeCenaMenu);
   }
}




avatar
cosmoplay
MembroAvançado

Masculino PONTOS : 1095
REPUTAÇÃO : 38
Idade : 19
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Qua Nov 30, 2016 11:42 pm

Não entendi o que você quer
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por stifel em Sab Dez 03, 2016 10:49 pm

Olá, boa noite! Estou com uma dificuldade. Esse script não funcionou no meu projeto de jogo, creio que por que tenho que aplicar esse script num personagem em terceira pessoa e não em primeira pessoa. De que forma posso resolver isso?

stifel
Iniciante
Iniciante

PONTOS : 246
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Sab Dez 03, 2016 10:58 pm

se não esta funcionando e porque você esta fazendo algo errado ou você não esta usando a versão 5 da unity
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Lucas Garcia Frade em Dom Dez 04, 2016 3:57 pm

Pode responder a pergunta que fiz ali em cima por favor?

Lucas Garcia Frade
Avançado
Avançado

Masculino PONTOS : 1089
REPUTAÇÃO : 7
Idade : 15
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por stifel em Dom Dez 04, 2016 4:08 pm

weslleyFx escreveu:se não esta funcionando e porque você esta fazendo algo errado ou você não esta usando a versão 5 da unity
Olá, boa tarde ! Estou usando a versão 5 da Unity, entretanto, preciso aplicar esse script em um personagem de 3rd person e quando faço isso, o jogo trava e as animações ficam bugando (o personagem fica flutuando). Como posso compatibilizar esse script para um personagem em terceira pessoa?

Desde já agradeço as respostas...

stifel
Iniciante
Iniciante

PONTOS : 246
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por weslleyFx em Dom Dez 04, 2016 6:37 pm

Lucas Garcia Frade escreveu:
MarcosSchultz escreveu:
Lucas Garcia Frade escreveu:Ei Marcos, to aki de novo, kkk, quando eu to no menu e aperto ESP pra sair o cursor fica travado no centro, porem visivel, ai preciso clicar pra ele desaparecer, como resolvo?

cursor travado no centro? você tem algum script com o comando lookCursor ?
Mas eh pra ele ficar travado no centro msm, tipo, quando to no menu fica normal, mas quando aperto ESC ou Retornar, ele trava no centro (como é pra ser feito msm) mas não desaparece.
Código:
Cursor.visible = false;
avatar
weslleyFx
Moderador

Masculino PONTOS : 2569
REPUTAÇÃO : 563
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por LuizCalegari em Sex Mar 24, 2017 11:11 pm

Quando o script é criado, ao dar o Play, não abre aponta erro para a linha 4, error CS 0246

LuizCalegari
Iniciante
Iniciante

PONTOS : 889
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Dom Mar 26, 2017 12:39 am

LuizCalegari escreveu:Quando o script é criado, ao dar o Play, não abre aponta erro para a linha 4, error CS 0246

Tem alguma print do erro? Mas acho que tem a ver com a sua versão da Unity.

Este script foi projetado para travar a câmera do FirstPersonController da Unity 5.3... Só que o FPS foi atualizado e acho que mudou a biblioteca. Tem que remover a parte de travar a câmera se pa.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Atiradogamer em Dom Mar 26, 2017 12:49 am

PRECISO DE MUNE MOBILE URGENTEMENTE SE NESSESARIO ME MANDA

Atiradogamer
Iniciante
Iniciante

PONTOS : 127
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Dom Mar 26, 2017 12:51 am

Poderia especificar melhor o que está precisando? dê preferência, crie um tópico na área "Dúvidas em geral" especificando beeeeem a dúvida
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Atiradogamer em Dom Mar 26, 2017 12:56 am

Estou precisando do script do menu mobile só falta isso pra terminar o jogo

Atiradogamer
Iniciante
Iniciante

PONTOS : 127
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por Atiradogamer em Dom Mar 26, 2017 1:37 am

Me mande pelo Gmail rodriguest507@gmail

Atiradogamer
Iniciante
Iniciante

PONTOS : 127
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Qui Mar 30, 2017 7:12 pm

Mas este do tópico deveria funcionar em Mobile... a UI da Unity é compatível com Android.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por bruxamissi em Seg Maio 15, 2017 3:04 pm

Como eu faria para ele da pause no jogo com um Button que ficaria no canto da dela tipo esse:
avatar
bruxamissi
Avançado
Avançado

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

Ver perfil do usuário https://www.youtube.com/channel/UCPtkRtiJCQKFVz80fE9kIeA

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por dstaroski em Seg Maio 15, 2017 3:31 pm

Boa tarde cara! Vou fazer um exemplo simples, utilizando como exemplo da documentação da Unity (https://docs.unity3d.com/ScriptReference/UI.Button-onClick.html):
Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Teste : MonoBehaviour
{
    public Button seuBotao;

    void Start()
    {
        Button btn = seuBotao.GetComponent<Button>();
        btn.onClick.AddListener(FuncaoPause);
    }

    void FuncaoPause()
    {
        Time.timeScale = 0;
    }
}
Coloque esse script em um objeto (pode ser vazio mesmo), link o botão a ele, e não esqueça que o nome do script tem que ser Teste(isso caso se copiar e colar), caso criar um novo, coloque o nome que quiser e somente copie a lógica. Depois pode fazer outro para voltar, é só trocar o "0" do Time.timeScale para "1", embora esse método de pause com o timeScale pode não pausar tudo, dai se teria de desativar determinados scripts e componentes que não pausaram, e reativa-los quando resumir o jogo.

Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 1734
REPUTAÇÃO : 456
Idade : 28
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por bruxamissi em Seg Maio 15, 2017 4:07 pm

dstaroski escreveu:Boa tarde cara! Vou fazer um exemplo simples, utilizando como exemplo da documentação da Unity (https://docs.unity3d.com/ScriptReference/UI.Button-onClick.html):
Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Teste : MonoBehaviour
{
    public Button seuBotao;

    void Start()
    {
        Button btn = seuBotao.GetComponent<Button>();
        btn.onClick.AddListener(FuncaoPause);
    }

    void FuncaoPause()
    {
        Time.timeScale = 0;
    }
}
Coloque esse script em um objeto (pode ser vazio mesmo), link o botão a ele, e não esqueça que o nome do script tem que ser Teste(isso caso se copiar e colar), caso criar um novo, coloque o nome que quiser e somente copie a lógica. Depois pode fazer outro para voltar, é só trocar o "0" do Time.timeScale para "1", embora esse método de pause com o timeScale pode não pausar tudo, dai se teria de desativar determinados scripts e componentes que não pausaram, e reativa-los quando resumir o jogo.

Abraço!

EU TINHA FEITO ISSO NO PROPRIO SCRIPT VER SE ESTAR CORRETO: LINHA 11, 99, 106, 114: ESTAO COMENTADA DO LADO
Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityStandardAssets.Characters.FirstPerson;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using System.Linq;
[RequireComponent(typeof(FirstPersonController))]
public class MenuPause : MonoBehaviour {
 public Image imagem;
 public Button BotaoRetornarAoJogo,BotaoOpcoes,BotaoVoltarAoMenu,PausaroJogo; //EU ADICIONEI O "PausaroJogo" Aquiii
 [Space(20)]
 public Slider BarraVolume;
 public Toggle CaixaModoJanela;
 public Dropdown Resolucoes, Qualidades;
 public Button BotaoVoltar, BotaoSalvarPref;
 [Space(20)]
 public Text textoVol;
 public string nomeCenaMenu = "Menu";
 private float VOLUME;
 private int qualidadeGrafica, modoJanelaAtivo, resolucaoSalveIndex;
 private bool telaCheiaAtivada, menuParte1Ativo, menuParte2Ativo;
 private Resolution[] resolucoesSuportadas;
 private FirstPersonController controlador;

 void Awake(){
 resolucoesSuportadas = Screen.resolutions;
 controlador = GetComponent<FirstPersonController> ();
 }

 void Start () {
 imagem.enabled = !imagem.enabled;
 Opcoes (false,false);
 ChecarResolucoes ();
 AjustarQualidades ();
 Time.timeScale = 1;
 AudioListener.volume = 1;
 BarraVolume.minValue = 0;
 BarraVolume.maxValue = 1;
 menuParte1Ativo = menuParte2Ativo = false;
 if (PlayerPrefs.HasKey ("RESOLUCAO")) {
 int numResoluc = PlayerPrefs.GetInt ("RESOLUCAO");
 if (resolucoesSuportadas.Length <= numResoluc) {
 PlayerPrefs.DeleteKey ("RESOLUCAO");
 }
 }
 //=============== 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==========//
 PausaroJogo.onClick = new Button.ButtonClickedEvent();  //ADICIONEI AQUIII
 BotaoVoltarAoMenu.onClick = new Button.ButtonClickedEvent();
 BotaoOpcoes.onClick = new Button.ButtonClickedEvent();
 BotaoRetornarAoJogo.onClick = new Button.ButtonClickedEvent();
 BotaoVoltar.onClick = new Button.ButtonClickedEvent();
 BotaoSalvarPref.onClick = new Button.ButtonClickedEvent();
 //
 PausaroJogo.onClick.AddListener(() => Update());     //ADICIONEI AQUIII
 BotaoVoltarAoMenu.onClick.AddListener(() => VoltarAoMenu());
 BotaoOpcoes.onClick.AddListener(() => Opcoes(false,true));
 BotaoRetornarAoJogo.onClick.AddListener(() => Opcoes(false,false));
 BotaoVoltar.onClick.AddListener(() => Opcoes(true,false));
 BotaoSalvarPref.onClick.AddListener(() => SalvarPreferencias());
 }
 void Update(){
 if (Input.GetKeyDown (KeyCode.Escape)) {     //AGORA COMO FAÇO PARA CHAMAR AQUI??
 if (menuParte1Ativo == false && menuParte2Ativo == false) {
 menuParte1Ativo = true;
 menuParte2Ativo = false;
 Opcoes (true, false);
 Time.timeScale = 0;
 AudioListener.volume = 0;
 imagem.enabled = true;
 } else if (menuParte1Ativo == true && menuParte2Ativo == false) {
 menuParte1Ativo = menuParte2Ativo = false;
 Opcoes (false, false);
 Time.timeScale = 1;
 AudioListener.volume = VOLUME;
 imagem.enabled = true;
 }
 else if (menuParte1Ativo == false && menuParte2Ativo == true) {
 menuParte1Ativo = true;
 menuParte2Ativo = false;
 Opcoes (true, false);
 Time.timeScale = 0;
 AudioListener.volume = 0;
 imagem.enabled = true;
 }
 }
 if (menuParte1Ativo == true || menuParte2Ativo == true) {
 Cursor.visible = true;
 controlador.enabled = false;
 } else {
 Cursor.visible = false;
 controlador.enabled = true;
 imagem.enabled = false;
 }
 }
 //=========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, bool ativarOP2){
 BotaoVoltarAoMenu.gameObject.SetActive (ativarOP);
 BotaoOpcoes.gameObject.SetActive (ativarOP);
 BotaoRetornarAoJogo.gameObject.SetActive (ativarOP);
 //
 textoVol.gameObject.SetActive (ativarOP2);
 BarraVolume.gameObject.SetActive (ativarOP2);
 CaixaModoJanela.gameObject.SetActive (ativarOP2);
 Resolucoes.gameObject.SetActive (ativarOP2);
 Qualidades.gameObject.SetActive (ativarOP2);
 BotaoVoltar.gameObject.SetActive (ativarOP2);
 BotaoSalvarPref.gameObject.SetActive (ativarOP2);
 if (ativarOP == true && ativarOP2 == false) {
 menuParte1Ativo = true;
 menuParte2Ativo = false;
 }
 else if (ativarOP == false && ativarOP2 == true) {
 menuParte1Ativo = false;
 menuParte2Ativo = true;
 }
 else if (ativarOP == false && ativarOP2 == false) {
 menuParte1Ativo = false;
 menuParte2Ativo = false;
 Time.timeScale = 1;
 AudioListener.volume = VOLUME;
 }
 }
 //=========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);
 }
 private void VoltarAoMenu(){
 SceneManager.LoadScene (nomeCenaMenu);
 }
}
avatar
bruxamissi
Avançado
Avançado

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

Ver perfil do usuário https://www.youtube.com/channel/UCPtkRtiJCQKFVz80fE9kIeA

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por bruxamissi em Seg Maio 15, 2017 6:44 pm

MarcosSchultz escreveu:
Lucas Garcia Frade escreveu:Ei Marcos, to aki de novo, kkk, quando eu to no menu e aperto ESP pra sair o cursor fica travado no centro, porem visivel, ai preciso clicar pra ele desaparecer, como resolvo?

cursor travado no centro? você tem algum script com o comando lookCursor ?
o meu script esta dando erro nessa linha:
Código:
m_MouseLook.LookRotation (transform, m_Camera.transform);

quando eu aperto em jogar e em seguida aparece os error acima
avatar
bruxamissi
Avançado
Avançado

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

Ver perfil do usuário https://www.youtube.com/channel/UCPtkRtiJCQKFVz80fE9kIeA

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)

Mensagem por MarcosSchultz em Qui Maio 18, 2017 1:32 pm

é por que você está usando uma versão que não tem mais o FirstPersonController, mas sim o FPSController.

Vou ter que refazer esses tutoriais se pa, por que a Unity atualiza cada pouco sas bagaça
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9338
REPUTAÇÃO : 1570
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

Página 1 de 2 1, 2  Seguinte

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