[RESOLVIDO] muta som em todas as cenas
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] muta som em todas as cenas
olá! to querendo colocar um botão toggle pra parar a musica e gostaria de sabe como faz pra salva para todas as cenas.
Última edição por dstaroski em Sex Out 26, 2018 4:37 pm, editado 1 vez(es) (Motivo da edição : Resolvido)
theus.mors- Membro
- PONTOS : 2279
REPUTAÇÃO : 5
Respeito as regras :
Re: [RESOLVIDO] muta som em todas as cenas
Bom dia cara! você pode usar o DontDestroyOnLoad (https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html) no objeto com o audio Source e então reproduzir todos os áudios a partir dele, você cria ele por exemplo na cena de Menu principal e ele continuará rodando por todas as cenas, pode usar um GameObjet.Find para localizar o mesmo. Assim você pode criar uma lógica para mutar ele e não precisará fazer em todos os audio sources, apenas em um, pois emitirá o som apenas por este.theus.mors escreveu:olá! to querendo colocar um botão toggle pra parar a musica e gostaria de sabe como faz pra salva para todas as cenas.
Abraço!
Re: [RESOLVIDO] muta som em todas as cenas
Obrigador!
eu conseguir salva o dados, porem nao to conseguindo salva a imagem do botão.
eu conseguir salva o dados, porem nao to conseguindo salva a imagem do botão.
theus.mors- Membro
- PONTOS : 2279
REPUTAÇÃO : 5
Respeito as regras :
Re: [RESOLVIDO] muta som em todas as cenas
não entendi essa parada de salvar a imagem do botão...?theus.mors escreveu:Obrigador!
eu conseguir salva o dados, porem nao to conseguindo salva a imagem do botão.
Re: [RESOLVIDO] muta som em todas as cenas
pq o botão toggle bota duas imagem(com o icone de audio
nao salva quando mudo de cena
nao salva quando mudo de cena
theus.mors- Membro
- PONTOS : 2279
REPUTAÇÃO : 5
Respeito as regras :
Re: [RESOLVIDO] muta som em todas as cenas
se precisa criar uma lógica cara, pra quando o toggle tiver desativado ele exibir tal icone e caso contrário exibir o outro. Você pode usar o playerprefs para salvar um valor para ativado e outro para desativado, por exemplo, usar uma chave int no playerprefs que 0 é para desativado e 1 para ativado, dai então se faz uma checagem:theus.mors escreveu:pq o botão toggle bota duas imagem(com o icone de audio
nao salva quando mudo de cena
if(Playerprefs.GetInt("Som") == 0)
{
//então exibe uma determinada imagem
}
else
//exibe outra
Abraço!
Re: [RESOLVIDO] muta som em todas as cenas
- Código:
public GameObject Imagem1;
public GameObject Imagem2;
public AudioSource Music;
public int Som = 0;
void Awake()
{
Som = PlayerPrefs.GetInt("SomImagem", Som);
if(PlayerPrefs.GetInt("SomImagem") == 0 && !Music.mute)
{
PlayerPrefs.SetInt("SomImagem", Som);
Som = 1;
Imagem2.SetActive(false);
Imagem1.SetActive(true);
}
if (PlayerPrefs.GetInt("SomImagem") == 1 && Music.mute)
{
PlayerPrefs.SetInt("SomImagem", Som);
Som = 0;
Imagem1.SetActive(false);
Imagem2.SetActive(true);
}
theus.mors- Membro
- PONTOS : 2279
REPUTAÇÃO : 5
Respeito as regras :
Re: [RESOLVIDO] muta som em todas as cenas
vou testar aqui, mas dá pra ver que tem erro de lógica ai.theus.mors escreveu:eu fiz assim ta fazendo a alternação entre as imagem so que nao ta salvado
- Código:
public GameObject Imagem1;
public GameObject Imagem2;
public AudioSource Music;
public int Som = 0;
void Awake()
{
Som = PlayerPrefs.GetInt("SomImagem", Som);
if(PlayerPrefs.GetInt("SomImagem") == 0 && !Music.mute)
{
PlayerPrefs.SetInt("SomImagem", Som);
Som = 1;
Imagem2.SetActive(false);
Imagem1.SetActive(true);
}
if (PlayerPrefs.GetInt("SomImagem") == 1 && Music.mute)
{
PlayerPrefs.SetInt("SomImagem", Som);
Som = 0;
Imagem1.SetActive(false);
Imagem2.SetActive(true);
}
Re: [RESOLVIDO] muta som em todas as cenas
Fiz esse aqui pra você:
aqui estou contando o seguinte, que conforme o seu toggle estiver selecionado ele dê um Set para a chave "SomImagem" de 0 caso estiver desmarcado e 1 para marcado, no caso mudo. Então o código acima apenas faz a leitura da chave e conforme o que o código do toggle fez ele irá ativar ou desativar uma imagem e muta ou não o audioSource.
Espero que te ajude de alguma forma.
Abraço!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teste : MonoBehaviour
{
public GameObject Imagem1;
public GameObject Imagem2;
public AudioSource Music;
void Awake()
{
if (PlayerPrefs.GetInt("SomImagem") == 0)
{
Music.mute = false;
Imagem2.SetActive(false);
Imagem1.SetActive(true);
}
else
{
Music.mute = true;
Imagem1.SetActive(false);
Imagem2.SetActive(true);
}
}
}
aqui estou contando o seguinte, que conforme o seu toggle estiver selecionado ele dê um Set para a chave "SomImagem" de 0 caso estiver desmarcado e 1 para marcado, no caso mudo. Então o código acima apenas faz a leitura da chave e conforme o que o código do toggle fez ele irá ativar ou desativar uma imagem e muta ou não o audioSource.
Espero que te ajude de alguma forma.
Abraço!
theus.mors- Membro
- PONTOS : 2279
REPUTAÇÃO : 5
Respeito as regras :
Tópicos semelhantes
» (DÚVIDA) Como desligar os sons de todas as cenas?
» Botão UI - Toggle (Botão Mutar) - Como deixar ele em todas as cenas?
» [RESOLVIDO] Como Fazer Baked De Luz em Cenas Grandes?
» [RESOLVIDO] Como fazer para controlar o áudio em diferentes cenas?
» Beat 'Em UP com movimentação em todas as direções.
» Botão UI - Toggle (Botão Mutar) - Como deixar ele em todas as cenas?
» [RESOLVIDO] Como Fazer Baked De Luz em Cenas Grandes?
» [RESOLVIDO] Como fazer para controlar o áudio em diferentes cenas?
» Beat 'Em UP com movimentação em todas as direções.
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos