BUG DE VOLUME NO SCRIPT MENU DE PAUSA
2 participantes
Página 1 de 1
BUG DE VOLUME NO SCRIPT MENU DE PAUSA
Olá pessoal, eu aqui dnv. to com um problema com o menu de pausa do marcos que eu uso (que por sinal me ajuda muito).
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:
meu script atualmente esta assim:
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;
meu script atualmente esta assim:
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityStandardAssets.Characters.FirstPerson;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using UnityStandardAssets.ImageEffects;
using System.Linq;
public class MenuPause : MonoBehaviour {
[Header("Ínicio")]
public Button BotaoRetornarAoJogo;
public Button BotaoOpcoes;
public Button BotaoVoltarAoMenu;
[Header("Menu Opções")]
public Button qualityButtonFastest;
public Button qualityButtonGood;
public Button qualityButtonFantastic;
[Space(10)]
public Slider BarraVolume;
public Button BotaoVoltar, BotaoSalvarPref;
public Blur cameraBlur;
public static float unscaledDeltaTime;
[Header("Desativar ao Pausar")]
public Lanterna lanterna;
public MouseLook mouseLook;
public MouseLook mouseLookPlayer;
[Header("Paineis")]
public GameObject painelOpções;
public GameObject painelInicio;
public string nomeCenaMenu = "Menu";
//Ativar Texto UI
[Header("Ativar Texto UI")]
public Button botao;
public Text texto;
public float duracaoDoTexto = 2;
bool cronometrar, cronometrar2, cronometrar3;
float cronometro;
//
private float VOLUME;
private int qualidadeGrafica, resolucaoSalveIndex, indexQuality;
private bool menuParte1Ativo, menuParte2Ativo;
//Ativar Texto UI
void FazerTextoAparecer(){
if (cronometrar == false) {
texto.enabled = true;
Color cor = texto.color;
cor.a = 0;
texto.color = cor;
cronometrar = true;
}
}
//
void Start (){
//Ativar Texto UI
//botao.onClick = new Button.ButtonClickedEvent();
botao.onClick.AddListener(() => FazerTextoAparecer());
texto.enabled = false;
cronometrar = cronometrar2 = cronometrar3 = false;
cronometro = 0;
//
Opcoes (false,false);
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;
}
//=========QUALIDADES=========//
if (PlayerPrefs.HasKey("qualidadeGrafica"))
{
qualidadeGrafica = PlayerPrefs.GetInt("qualidadeGrafica");
QualitySettings.SetQualityLevel(qualidadeGrafica);
}
else
{
QualitySettings.SetQualityLevel((QualitySettings.names.Length - 1));
qualidadeGrafica = (QualitySettings.names.Length - 1);
PlayerPrefs.SetInt("qualidadeGrafica", 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;
mouseLookPlayer.enabled = false;
mouseLook.enabled = false;
lanterna.enabled = false;
cameraBlur.enabled = true;
AudioListener.volume = 0;
} else if (menuParte1Ativo == true && menuParte2Ativo == false) {
menuParte1Ativo = menuParte2Ativo = false;
Opcoes (false, false);
Time.timeScale = 1;
mouseLookPlayer.enabled = true;
mouseLook.enabled = true;
lanterna.enabled = true;
cameraBlur.enabled = false;
AudioListener.volume = VOLUME;
}
else if (menuParte1Ativo == false && menuParte2Ativo == true) {
menuParte1Ativo = true;
menuParte2Ativo = false;
Opcoes (true, false);
Time.timeScale = 0;
mouseLookPlayer.enabled = false;
mouseLook.enabled = false;
lanterna.enabled = false;
cameraBlur.enabled = true;
AudioListener.volume = 0;
}
}
if (menuParte1Ativo == true || menuParte2Ativo == true) {
Cursor.visible = true;
Cursor.lockState = CursorLockMode.None;
} else {
Cursor.visible = false;
Cursor.lockState = CursorLockMode.Locked;
}
//Ativar Texto UI
if (cronometrar == true && cronometrar2 == false) {
cronometro += Time.deltaTime;
Color cor = texto.color;
cor.a = Mathf.Clamp (cronometro, 0, 1);
texto.color = cor;
if (cronometro >= 1) {
cronometro = 1;
cronometrar2 = true;
StartCoroutine ("Esperar2Seg");
}
}
if (cronometrar3 == true) {
cronometro -= Time.deltaTime;
Color cor = texto.color;
cor.a = Mathf.Clamp (cronometro, 0, 1);
texto.color = cor;
if (cronometro <= 0) {
cronometro = 0;
cronometrar = cronometrar2 = cronometrar3 = false;
}
}
//
}
//=========VOIDS DE CHECAGEM==========//
private void AjustarQualidades()
{
//qualityButtonFastest.onClick = new Button.ButtonClickedEvent();
qualityButtonFastest.onClick.AddListener(() => {indexQuality = 0; });
//qualityButtonGood.onClick = new Button.ButtonClickedEvent();
qualityButtonGood.onClick.AddListener(() => {indexQuality = 1; });
//qualityButtonFantastic.onClick = new Button.ButtonClickedEvent();
qualityButtonFantastic.onClick.AddListener(() => {indexQuality = 4; });
}
private void Opcoes(bool ativarOP, bool ativarOP2){
painelInicio.gameObject.SetActive (ativarOP);
BotaoVoltarAoMenu.gameObject.SetActive (ativarOP);
BotaoOpcoes.gameObject.SetActive (ativarOP);
BotaoRetornarAoJogo.gameObject.SetActive (ativarOP);
//
qualityButtonFastest.gameObject.SetActive (ativarOP2);
qualityButtonGood.gameObject.SetActive (ativarOP2);
qualityButtonFantastic.gameObject.SetActive (ativarOP2);
painelOpções.gameObject.SetActive (ativarOP2);
BarraVolume.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;
mouseLookPlayer.enabled = true;
mouseLook.enabled = true;
lanterna.enabled = true;
cameraBlur.enabled = false;
AudioListener.volume = VOLUME;
}
}
//=========VOIDS DE SALVAMENTO==========//
private void SalvarPreferencias()
{
PlayerPrefs.SetFloat("VOLUME", BarraVolume.value);
PlayerPrefs.SetInt("qualidadeGrafica", indexQuality);
AplicarPreferencias();
}
private void AplicarPreferencias(){
VOLUME = PlayerPrefs.GetFloat ("VOLUME");
QualitySettings.SetQualityLevel(PlayerPrefs.GetInt ("qualidadeGrafica"));
}
private void VoltarAoMenu(){
SceneManager.LoadScene (nomeCenaMenu);
}
//Ativar Texto UI
IEnumerator Esperar2Seg(){
yield return new WaitForSeconds (duracaoDoTexto);
cronometrar3 = true;
}
//
}
MeverPlays- Mestre
- PONTOS : 3867
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: BUG DE VOLUME NO SCRIPT MENU DE PAUSA
Poderia me dizer o ciclo que você está fazendo? Quero dizer, a sequência de eventos que está seguindo?
Você só tem este script em cena? Você tem um script de Menu principal em alguma cena de menu?
Quando você testa, você acessa a cena pelo menu ou apenas diretamente através da cena em que o script está?
Você só tem este script em cena? Você tem um script de Menu principal em alguma cena de menu?
Quando você testa, você acessa a cena pelo menu ou apenas diretamente através da cena em que o script está?
Tópicos semelhantes
» Menu De Pausa Totalmente Simples E Personalizável
» Pause Menu: botões de "Restart" e "Menu"
» como usar o script de menu no android
» Problema com o script de menu pause do Marcos
» SCRIPT "MENU" DO MARCOS BLOQUEANDO O USO DE OUTROS SCRIPTS
» Pause Menu: botões de "Restart" e "Menu"
» como usar o script de menu no android
» Problema com o script de menu pause do Marcos
» SCRIPT "MENU" DO MARCOS BLOQUEANDO O USO DE OUTROS SCRIPTS
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos