Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 /
avatar image
0
Question by andrew-furlyk · Jun 07, 2014 at 08:48 AM · javascriptbuttonrepeating

button reapats whats in its code

as i said in the title in the buttons code it finds anything and uses it and repeats it even when i don't press the button it happens when i start the game can you fix my code please and thank you. var Menu : boolean = true;
var SettingsBox : boolean = false; var MenuSkin : GUIStyle; function OnGUI() { var groupWidth = 500; var groupHeight = 500;

     var screenWidth = Screen.width;
     var screenHeight = Screen.height;
      
     var groupX = ( screenWidth - groupWidth ) / 2;
     var groupY = ( screenHeight - groupHeight ) / 2;
      
     GUI.BeginGroup( Rect( groupX, groupY, groupWidth, groupHeight ) );
     
     if ( Menu )
 {
     if ( GUI.Button( Rect( 150, 200, 200, 50 ), "Log In", MenuSkin));
     {
     
     }
     if ( GUI.Button( Rect( 150, 260, 200, 50 ), "Settings", MenuSkin));
     {
          Menu = true;
          SettingsBox = false;
     }
     GUI.Button( Rect( 150, 320, 200, 50 ), "Quit", MenuSkin);
     {
         Application.Quit();
     }
     if ( SettingsBox )
     {
     GUI.Box (Rect ( 0, 150, 500, 300 ), "Setings");
         
     if ( GUI.Button( Rect( 400, 400, 60, 30 ), "Return" ) );
     {
         Menu = true;
         SettingsBox =  false;
         }
     }
 }
     GUI.EndGroup();
 }
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

2 Replies

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

Answer by NoseKills · Jun 07, 2014 at 10:04 AM

Don't put semicolons at the end of "if" clauses. The "if" applies only until the semicolon in that case, so all your "if" clauses are effectively empty in this code, and as you said, all the other stuff happens unconditionally all the time.

Secondly, the "Quit" button is not even inside an "if" clause, so all it does is draw the button.

so

     if ( GUI.Button( Rect( 150, 260, 200, 50 ), "Settings", MenuSkin))
     {
       Menu = true;
       SettingsBox = false;
     }

instead of

     if ( GUI.Button( Rect( 150, 260, 200, 50 ), "Settings", MenuSkin));
     {
       Menu = true;
       SettingsBox = false;
     }

You can write "if" with or without the curly bracets

 if (condition) // no opening curly bracket -> compiler ends the if block in the next semicolon it finds
     value = false; // this is inside the "if" block
 value2 = true; // this is outside the "if"

In your code the compiler reads the if blocks like above, only there's nothing between the if(condidition) and the next semicolon after it

Or you can write "if" clauses with curly brackets

 if (condition)
 { // opening curly bracket -> compiler ends the if block in the matching closing curly bracket 
         value = false; // this is inside the "if" block
         value2 = true; // curly brackets enable multiple lines inside "if"
 }
     value3 = true; // this is outside the "if"
Comment
Add comment · 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
0

Answer by andrew-furlyk · Jun 07, 2014 at 11:03 AM

thank you you explanation was confusing but i some how understood it and fixed the problem thank you so much. :)

Comment
Add comment · 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

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

22 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

Related Questions

Use a key to open a GUI? 2 Answers

How can I make a GUI button be touch activated? 0 Answers

GUI Button Disappearing 1 Answer

Setting Scroll View Width GUILayout 1 Answer

Button OnClick Applied To Whole Canvas? 1 Answer


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