- Home /
Toggle button GUI texture not changing on click?
I'm trying to make a mute toggle button for my Android game. The sound switches on/off when I press the button, but it takes 2 clicks each time to change the GUI texture. I've spent hours googling and tweaking with no luck. I'm new to coding so I'm tweaking existing code and adding my own parts as I'm going. Could somebody please tell me where I'm going wrong?
[ExecuteInEditMode()]
public class SoundToggle : MonoBehaviour {
public GUISkin guiskin;
bool isShow = false;
public List<Texture> textures = new List<Texture>();
float scaleWidth = 60.0f;
bool onOff = true;
void OnGUI()
{
GUI.depth = -2;
GUI.skin = guiskin;
Texture soundButton = SoundEffect.isMute?textures[0]:textures[1];
if(GUI.Button(new Rect(Screen.width/8 - scaleWidth/2,Screen.height*6/10.0f,scaleWidth,scaleWidth), new GUIContent(soundButton),"trans_button"))
{
isShow = true;
if(onOff){
//set volume to 0
AudioListener.volume = 0;
//audio.Stop();
onOff = false;
Debug.Log("sound off");
}
/*
* if onOff = false, then set audio volume back to 1
* and start playing music file;
*/
else if(!onOff){
AudioListener.volume = 1;
//audio.Play();
onOff = true;
Debug.Log("sound on");
isShow = true;
SoundEffect.isMute = !SoundEffect.isMute;
if(!SoundEffect.isMute)
SoundEffect.Stop();
else
SoundEffect.Play(Sound.tone);
MusicEffect.isMute = !MusicEffect.isMute;
if(MusicEffect.isMute)
MusicEffect.Stop();
else
MusicEffect.Play(Music.tone);
}
}
}
}
Comment
Your answer
Follow this Question
Related Questions
GUI button doesn't appear on Android 0 Answers
Toggle Textures Script 1 Answer
Change the texture of mute button 0 Answers
How to change RawImage texture to another one when i press a buton for it 1 Answer
Toggling multiple button states 2 Answers