[DUVIDA] Menu Pause
4 participantes
Página 1 de 1
[DUVIDA] Menu Pause
ENTÃO PESSOAL EU VI O TUTORIAL DO MARCOS DE MENU PAUSE E EU QUERIA SABE COMO EU RETIRO A OPÇÃO DE RESOLUÇÕES E DE MODO JANELA ( MEU JOGO É DE ANDROID ENTÃO NÃO TEM NECESSIDADE).
COMO COLOCAR UMA OPÇÃO TIPO ESSA PARA PAUSAR NO CELULAR:
E COMO COLOCAR UM FUNDO NO MENU.
SCRIPT DO MENU:
OBS: COMECEI A ESTUDAR PROGRAMAÇÃO AGORA SOU NOVO MAIS SOU MUITO EMPENHADO! :study:
COMO COLOCAR UMA OPÇÃO TIPO ESSA PARA PAUSAR NO CELULAR:
E COMO COLOCAR UM FUNDO NO MENU.
SCRIPT DO MENU:
- 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);
}
}
OBS: COMECEI A ESTUDAR PROGRAMAÇÃO AGORA SOU NOVO MAIS SOU MUITO EMPENHADO! :study:
Re: [DUVIDA] Menu Pause
ENTÃO PESSOAL E NEGOCIO DA IMAGEM DE FUNDO EU JA RESOLVI.
COMECEI A FAZER O PAUSE MAIS NAO TO CONSEGUINDO TERMINAR ME AJUDEM, LEIAM OQUE ESTA COMENTADO NO SCRIPT ABAIXO: LINHAS:11, 99, 106, 114.
COMECEI A FAZER O PAUSE MAIS NAO TO CONSEGUINDO TERMINAR ME AJUDEM, LEIAM OQUE ESTA COMENTADO NO SCRIPT ABAIXO: LINHAS:11, 99, 106, 114.
- 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: [DUVIDA] Menu Pause
UP!!!!bruxamissi escreveu:ENTÃO PESSOAL E NEGOCIO DA IMAGEM DE FUNDO EU JA RESOLVI.
COMECEI A FAZER O PAUSE MAIS NAO TO CONSEGUINDO TERMINAR ME AJUDEM, LEIAM OQUE ESTA COMENTADO NO SCRIPT ABAIXO: LINHAS:11, 99, 106, 114.
- 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: [DUVIDA] Menu Pause
Desculpa ai amigo.. Mais esse script ta muito confuso.. Tipo.. Porque você não tenta criar um novo script, mais só com a sua ideia, ai tu posta aqui pra gente analizar
Re: [DUVIDA] Menu Pause
Olha amigo, eu recomendo que você veja no youtube alguém criando um menu pause DO ZERO, mas tem que ser do zero, ai na hora que chegar nessa parte da janela e tal você pula. Mas identifiquei nesse código variáveis do tipo janela ativa, resolução etc.. tenta excluir elas e todas as coisas que tem conexão com ela. Mas a chance de dar errado é alta, então faça backup do código. Ainda recomendo assistir um vídeo criando do zero. Abraços
IanLuan- Mestre
- PONTOS : 3251
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Re: [DUVIDA] Menu Pause
A ideia e pausar o jogo por um botao que ficara no canto da tela jogo para mobile:marcos4503 escreveu:Desculpa ai amigo.. Mais esse script ta muito confuso.. Tipo.. Porque você não tenta criar um novo script, mais só com a sua ideia, ai tu posta aqui pra gente analizar
a ideira é essa:
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Teste : MonoBehaviour
{
public Button Pause;
void Start()
{
Button btn = Pause.GetComponent<Button>();
btn.onClick.AddListener(FuncaoPause);
}
void FuncaoPause()
{
Time.timeScale = 0;
}
}
Só que eu queria chamar esse botao no Script do MenuPause, chamar esse botao nessa linha, ao inves de pausar no "Esc" pausar no "Button"
- Código:
if (Input.GetKeyDown (KeyCode.Escape))
Re: [DUVIDA] Menu Pause
Então eu ja consegui resolver quase tudo unica coisa que estou querendo ajuda agora é para pausar por um button que ficaria na tela igual falei acima.IanLuan escreveu:Olha amigo, eu recomendo que você veja no youtube alguém criando um menu pause DO ZERO, mas tem que ser do zero, ai na hora que chegar nessa parte da janela e tal você pula. Mas identifiquei nesse código variáveis do tipo janela ativa, resolução etc.. tenta excluir elas e todas as coisas que tem conexão com ela. Mas a chance de dar errado é alta, então faça backup do código. Ainda recomendo assistir um vídeo criando do zero. Abraços
Re: [DUVIDA] Menu Pause
Atualmente está sendo ativado com uma letra é? Se tiver sendo ativado por uma tecla (tipo quando apertar ESC) você pode linkar isso a um botão na ui (é mais rápido, pode n ser a melhor forma). Aí no botão você diz que ao apertar o botão é o mesmo que apertar a tecla ESC. Ai já vai ta pronto. Caso ainda não seja ativado por nada, é só você criar o botão e dizer quando clicar nele o script de pause será ativado. Você pode fazer isso usando o get component e o Enabled. To sem unity nesse pc, não da para testar, mas quando você usa esse script ele pede para você linkar alguma coisa? Tipo uma tecla, ou um botão?
IanLuan- Mestre
- PONTOS : 3251
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Re: [DUVIDA] Menu Pause
Já fiz muitas pesquisas e nao consegui resolver..
unica coisa que quero e pausar o jogo por um Button UI
unica coisa que quero e pausar o jogo por um Button UI
Re: [DUVIDA] Menu Pause
- Código:
using System;
using UnityEngine;
using UnityEngine.UI;
public class PauseMenu : MonoBehaviour
{
private Toggle m_MenuToggle;
private float m_TimeScaleRef = 1f;
private float m_VolumeRef = 1f;
private bool m_Paused;
void Awake()
{
m_MenuToggle = GetComponent <Toggle> ();
}
private void MenuOn ()
{
m_TimeScaleRef = Time.timeScale;
Time.timeScale = 0f;
m_VolumeRef = AudioListener.volume;
AudioListener.volume = 0f;
m_Paused = true;
}
public void MenuOff ()
{
Time.timeScale = m_TimeScaleRef;
AudioListener.volume = m_VolumeRef;
m_Paused = false;
}
public void OnMenuStatusChange ()
{
if (m_MenuToggle.isOn && !m_Paused)
{
MenuOn();
}
else if (!m_MenuToggle.isOn && m_Paused)
{
MenuOff();
}
}
#if !MOBILE_INPUT
void Update()
{
if(Input.GetKeyUp(KeyCode.Escape))
{
m_MenuToggle.isOn = !m_MenuToggle.isOn;
}
}
#endif
}
MateusGX- Programador
- PONTOS : 3051
REPUTAÇÃO : 18
Respeito as regras :
Re: [DUVIDA] Menu Pause
Tenta usar esse script, era de um antigo jogo meu
MateusGX- Programador
- PONTOS : 3051
REPUTAÇÃO : 18
Respeito as regras :
Re: [DUVIDA] Menu Pause
Pronto cara, já que você disse q está configurado como Esc é só você criar im botão e dizer que quando apertar nesse botão é a mesma coisa que apertar Esc. Então se apertando o botão eu vou apertar esc, apertando o botão eu consigo abrir o pause. Crie um outro script só pata fazer esse sisteminha, só adicionando um evento para esse Botão
IanLuan- Mestre
- PONTOS : 3251
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Re: [DUVIDA] Menu Pause
Olha esse VÍDEO AQUI, o paulo tá criando os botões para o jogo android, é essa a mecânica que você vai criar. Desse jeito, mas tu tem que programar o botão para que, ao apertar ele seja a mesma coisa que está apertando a tecla Esc.
IanLuan- Mestre
- PONTOS : 3251
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação C#
Básico Design (Blender / Photoshop)
Desenvolvimento Web e Apps.
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Menu Pause Dúvida
» Pause Menu: botões de "Restart" e "Menu"
» Menu Principal com Load Game e Menu de Pause com Save Game?
» Pause Menu com UI
» Menu De Pause De Um FPS
» Pause Menu: botões de "Restart" e "Menu"
» Menu Principal com Load Game e Menu de Pause com Save Game?
» Pause Menu com UI
» Menu De Pause De Um FPS
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos