[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
+27
Mourao
Tiago95
negoll
Pureza
helton91
Kevem
NoctisLucisCaelum
Phph09
iamlecosta
MRX
zOverLexYT
Crash Psycho
dstaroski
bruxamissi
Atiradogamer
LuizCalegari
stifel
cosmoplay
Moa
victoraugusto
MeverPlays
darkdrezinho
Lucas Garcia Frade
Matheus Fiori
Budyw
Weslley
MarcosSchultz
31 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
É importantíssimo ver o vídeo para entender como utilizar o script
Vídeo:
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)
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
legal vai servir de ajuda pra muita gente :D
aborde algo sobre expressão lambda :D
pra quem que saber mais sobre expressão lambda https://msdn.microsoft.com/pt-br/library/bb397687.aspx
aborde algo sobre expressão lambda :D
pra quem que saber mais sobre expressão lambda https://msdn.microsoft.com/pt-br/library/bb397687.aspx
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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.
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
- PONTOS : 3204
REPUTAÇÃO : 4
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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;
}
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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
- PONTOS : 3204
REPUTAÇÃO : 4
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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());
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Deu certo weslleyFx, funcionou como o que eu queria! Valeu :D
Budyw- Membro
- PONTOS : 3204
REPUTAÇÃO : 4
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Budyw escreveu:Deu certo weslleyFx, funcionou como o que eu queria! Valeu :D
:D
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Estou tendo um problema com o som quando eu volto para o menu principal os sons não funcionam mais
Matheus Fiori- Iniciante
- PONTOS : 3303
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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
- PONTOS : 3303
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
vc já tentou da play por script ?
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Você diz por cenas separadas ?não entendi muito bemweslleyFx escreveu:vc já tentou da play por script ?
Matheus Fiori- Iniciante
- PONTOS : 3303
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
No script do menu da um play no start talvez seja um bug do unity
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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 voltaweslleyFx escreveu:No script do menu da um play no start talvez seja um bug do unity
Matheus Fiori- Iniciante
- PONTOS : 3303
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Matheus Fiori escreveu: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 voltaweslleyFx escreveu:No script do menu da um play no start talvez seja um bug do unity
Bom eu testei e não tive o problema citado a cima
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Script atualizado para evitar erros de resolução
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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?
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
- PONTOS : 3780
REPUTAÇÃO : 9
Idade : 23
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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.
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
marcos schultz tinha tado error mas fucionou dx pa la
darkdrezinho- Iniciante
- PONTOS : 2948
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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:
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.
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.
MeverPlays- Mestre
- PONTOS : 3868
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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.
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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)?
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
- PONTOS : 2989
REPUTAÇÃO : 0
Idade : 29
Áreas de atuação : programacao
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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.
Projeto de fim de bimestre da facul, obrigado pela ajuda q fornecem.
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);
}
}
Projeto de fim de bimestre da facul, obrigado pela ajuda q fornecem.
victoraugusto- Iniciante
- PONTOS : 2989
REPUTAÇÃO : 0
Idade : 29
Áreas de atuação : programacao
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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
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
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Alguém pode me dizer como que faz para parar todas as animações e audio :D
Moa- Membro
- PONTOS : 3120
REPUTAÇÃO : 4
Idade : 24
Áreas de atuação : Programação
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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
- PONTOS : 3780
REPUTAÇÃO : 9
Idade : 23
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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 ?
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Moa escreveu:Alguém pode me dizer como que faz para parar todas as animações e audio :D
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.
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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.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 ?
Última edição por Lucas Garcia Frade em Dom Dez 04, 2016 3:57 pm, editado 1 vez(es)
Lucas Garcia Frade- Avançado
- PONTOS : 3780
REPUTAÇÃO : 9
Idade : 23
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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.
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);
}
}
cosmoplay- Avançado
- PONTOS : 3795
REPUTAÇÃO : 45
Idade : 26
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Não entendi o que você quer
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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
- PONTOS : 2920
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
se não esta funcionando e porque você esta fazendo algo errado ou você não esta usando a versão 5 da unity
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Pode responder a pergunta que fiz ali em cima por favor?
Lucas Garcia Frade- Avançado
- PONTOS : 3780
REPUTAÇÃO : 9
Idade : 23
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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?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
Desde já agradeço as respostas...
stifel- Iniciante
- PONTOS : 2920
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Lucas Garcia Frade escreveu: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.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 ?
- Código:
Cursor.visible = false;
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Quando o script é criado, ao dar o Play, não abre aponta erro para a linha 4, error CS 0246
LuizCalegari- Iniciante
- PONTOS : 3563
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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.
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
PRECISO DE MUNE MOBILE URGENTEMENTE SE NESSESARIO ME MANDA
Atiradogamer- Iniciante
- PONTOS : 2801
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Estou precisando do script do menu mobile só falta isso pra terminar o jogo
Atiradogamer- Iniciante
- PONTOS : 2801
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Me mande pelo Gmail rodriguest507@gmail
Atiradogamer- Iniciante
- PONTOS : 2801
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Mas este do tópico deveria funcionar em Mobile... a UI da Unity é compatível com Android.
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Como eu faria para ele da pause no jogo com um Button que ficaria no canto da dela tipo esse:
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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):
Abraço!
- 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;
}
}
Abraço!
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
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):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.
- 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;
}
}
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);
}
}
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
o meu script esta dando erro nessa linha: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 ?
- Código:
m_MouseLook.LookRotation (transform, m_Camera.transform);
quando eu aperto em jogar e em seguida aparece os error acima
Re: [TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
é 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
Vou ter que refazer esses tutoriais se pa, por que a Unity atualiza cada pouco sas bagaça
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [TUTORIAL] Menu pause ( AVANÇADO )
» [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
» AJUDA COM MENU PAUSE AVANÇADO
» [TUTORIAL] Menu de pause
» [TUTORIAL]"Morte" do personagem (Unity 5.3 ou Superior)
» [TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
» AJUDA COM MENU PAUSE AVANÇADO
» [TUTORIAL] Menu de pause
» [TUTORIAL]"Morte" do personagem (Unity 5.3 ou Superior)
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos