• 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
Question by TooLate · Dec 31, 2016 at 03:05 PM · timerscorescore systemaddscoreboard

How to add one score every second to scoremanager c#

Happy new year!

I got question regarding time and score. How do I add one score every second to my scoremanager. I got button which stops the time when pressed. After the button is being pressed I would like to see time as score (int) so that I can save it to my scoreboard. Here is my timer script.

using UnityEngine; using System.Collections; using UnityEngine.UI;

 public class TimerTimer: MonoBehaviour {

 public Text counterText;
 public float seconds, minutes;

     void Start (){
 counterText = GetComponent<Text> () as Text;

 }

 void Update(){

     minutes = (int)(Time.time/60f);
     seconds = (int)(Time.time % 60f);
     counterText.text = minutes.ToString("0") + ":" + seconds.ToString("0");
 }

     

}

Comment

People who like this

0 Show 0
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

  • Sort: 
avatar image
Best Answer

Answer by TooLate · Dec 31, 2016 at 10:05 PM

I searched around more and figured out that I need separate code to do this. I tried this but invoke method could´t be called. Any advice?

using UnityEngine; using System.Collections.Generic;

public class ScoreSecond : MonoBehaviour {

     private int now = 3; 
     private int score = 0; 
     public GUIText scoreLabel; 


     void Start(){
     scoreLabel.text = score.ToString();
     }

     void Update(){
         InvokeRepeating ("AddToScore", 01f, 02f);
         
     }

 void AdToScore(){
     if (now > 0) {
         score = score + 1; 
         scoreLabel.text = score.ToString();
     }
 }

}

Comment

People who like this

0 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 yakri · Dec 31, 2016 at 10:15 PM 0
Share

01f is garbage, you want to say 'InvokeRepeating ("AddToScore", 1.0f, 1.0f);'

Also you misspelled your function name,` void AdToScore()` instead of void AddToScore()

but you called the correctly spelled name (AddToScore) in the invoke. Since you have no function called AddToScore, it will not even try to work.

avatar image TooLate · Dec 31, 2016 at 10:38 PM 0
Share

I made the changes and the code works. Thank you Mr. Only problem is that the it dont give one point/second. If I wait for example 3 seconds the Guitext counter show 148. Any suggestions how to fix this?

avatar image TooLate · Jan 01, 2017 at 11:30 AM 0
Share

I found a way to do it. It works almost perfectly. There is just a slight delay at the beginning. Cheers!

using UnityEngine; using System.Collections;

public class ScorePoint : MonoBehaviour {

 private IEnumerator coroutine;

 void Start()
 {

     coroutine = WaitAndPrint(1.0f);
     StartCoroutine(coroutine);

 }
     
 private IEnumerator WaitAndPrint(float waitTime) {
     while (true) {
         yield return new WaitForSeconds(waitTime);
         ScoreManager.score += 1;
     }
 }

}

Unity Answers is in Read-Only mode

Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta by June 9. Please note, Unity Answers is now in read-only so we can prepare for the final data migration.

For more information and updates, please read our full announcement thread in the Unity Forum.

Follow this Question

Answers Answers and Comments

88 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 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

reload game 1 Answer

How do I add a score system? 1 Answer

Problem with counting score in 3D game 1 Answer

Highscore table C# HELP!!! 0 Answers

How do I make the Score system work? 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