Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by karlkevin · Mar 23, 2016 at 11:33 AM · buttonsoundsettingsmusicbutton trigger events

how to make sound settings button?

I am making a basic button, but the point is that i want it to be on-off button. So i have a settings scene and there should be button with picture: "sound on", and pressing this button will change it to "sound off" picture (I have made pictures) and will turn sounds off in every scene. Can somebody help me with this coding? What I have tried is: using UnityEngine; using System.Collections; using UnityEngine.UI;

public class uiManager : MonoBehaviour {

 bool onoff;


 public void Music(){
     if (onoff) {
         
         AudioListener.volume = 0;
         bool onoff = !onoff;
     } else if (!onoff) {
         
         AudioListener.volume = 1;
         bool !onoff = onoff;
     }
 }

@karlkevin

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Toon_Werawat · Mar 23, 2016 at 12:24 PM

Everytime scene change. All script will Destroy.

But you can make it not Destroy or Save to Setting

1.DontDestroyOnLoad

 public class uiManager : MonoBehaviour 
 {
      void Awake()
      {
           DontDestroyOnLoad(this.gameObject);
      }
      bool onoff;
      public void Music()
      {
          //Your code
      }
 }

2.Save your setting. And load it later when change scene

 public class uiManager : MonoBehaviour
 {
     void OnLevelWasLoaded(int level)
     {
         onoff = PlayerPrefs.GetInt("Music") == 1;
     }
     bool onoff;
     public void Music()
     {
         //Your code
         PlayerPrefs.SetInt("Music", onoff ? 0 : 1);
         PlayerPrefs.Save();
     }
 }

Optinally: I can shrink your code. From this

 if (onoff) 
 {      
      AudioListener.volume = 0;
      bool onoff = !onoff;
 } 
 else if (!onoff) 
 {         
      AudioListener.volume = 1;
      bool !onoff = onoff;
 }

To this

 onoff = !onoff;
 AudioListener.volume = onoff ? 0 : 1;
Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image karlkevin · Mar 27, 2016 at 01:03 PM 0
Share

Thank you for your help, but for some reason, it doesn't work :( It doesn't change the sound off :(

avatar image karlkevin · Apr 16, 2016 at 09:03 PM 0
Share

Thank you very much man, got it to work finally!! :)

avatar image Toon_Werawat karlkevin · Apr 17, 2016 at 02:24 AM 0
Share

Glad you finally figured it out. :)

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

55 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How to stop the main music and play the GameOver music when a player dies? 2 Answers

How to stop all application music playing in the background. 1 Answer

c# sound in unity 5 1 Answer

How Do I Make A Rising Piano Death Noise? 1 Answer

Object missing after changing scenes 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges