2014-12-24 2 views
0

Я делаю свою собственную игру в Unity 4.6. У меня всегда есть фоновая музыка. Но я хочу дать своим игрокам возможность отключить музыку с помощью простого переключения. Я использую C#. Какие-нибудь идеи о том, как это сделать?Toggle Mute in Unity 4.6

Было бы очень полезно! вот как я решил это!

using UnityEngine; 

using System.Collections;

public class Mute: MonoBehaviour{

bool isMute; 


public void MusicMute(){ 
    if(isMute == true){ 
     Debug.Log("Music On"); 
     AudioListener.volume = 1; 
     isMute = false; 
    } 
    else { 
     Debug.Log("Music Off"); 
     isMute = true; 
     AudioListener.volume = 0; 
    } 
} 

}

ответ

-1

Воображение, что вы используете кнопку GUI для переключения ...

Вы можете переключать громкость следующим образом:

void OnGUI() 
{ 
    if (GUI.Button (new Rect (0, 0, 30, 30), "Music")) { 
     if (audio.volume != 0) {    
      audio.volume = 0; 
     } else {    
      audio.volume = 1; //or whatever value you want 
     } 
    } 
} 

В противном случае вы можете играть или остановить следующее:

void OnGUI() 
{ 
    if (GUI.Button (new Rect (0, 0, 30, 30), "Music")) { 
     if (audio.isPlaying) {   
      audio.Stop(); 
     } else {    
      audio.Play(); 
     } 
    } 
} 

Надеется, что это помогает.

+0

Я не думаю, что это очень хороший ответ, поскольку он предлагает использовать старую систему GUI Unity, в то время как в исходном вопросе четко указано использование Unity 4.6, где GUI.Button уже недействителен. – Thyme