- Home /
Staring system, problem...
Hi, there! I want to create a staring/scoring system... However i have yet done on the scoring site, i only need a little help on the staring system. (Like in angry birds) So i have this script and it works great until i reach more point then it's needed on the 2 stars part. If i have more point then the 2 stars part section was written then it counts it as 1 and 2, if there is more point then 3 stars, then it counts 1, 2, and 3. I only need one of them if another has been reached because want it to use as a texture enabler. So i just want it to switch to the other section 1 to 2 stars and not count 1 and 2 all the time, just one of them. Here is the code:
#pragma strict
function Update(){
if(ScoreSystem.myScore > 400){
Debug.Log("3 Stars");
}
if(ScoreSystem.myScore > 200){
Debug.Log("2 Stars");
}
if(ScoreSystem.myScore > 0){
Debug.Log("1 Stars");
}
}
I hope i was clear! Thanks in advance for the answers!
Answer by PouletFrit · Jun 06, 2014 at 05:41 PM
Since you have 3 if, they will all be considered, update will test each of them.
You need to use
#pragma strict
function Update() {
// First let's check if score is > 400
if (ScoreSystem.myScore > 400) {
// Yes, execute this code and exit
Debug.Log("3 Stars");
// No, then check if score is > 200
} else if (ScoreSystem.myScore > 200) {
// Yes, execute this code and exit
Debug.Log("2 Stars");
// No, then check if score is > 0
} else if (ScoreSystem.myScore > 0) {
// Yes, execute this code and exit
Debug.Log("1 Stars");
}
}
So it will test your condition one after one, but only execute the code inside the bracket of the first condition that is true and will quit without testing the others conditions
Answer by Lazdude17 · Jun 06, 2014 at 06:01 PM
If you get 500 points then the update function will run through and say
500 is greater than 400 so you get 3 stars,
500 is greater than 200 so you get 2 stars,
500 is greater than 0 so you get 1 star
You have to make so you can only get one score from your points.
#pragma strict
function Update(){
if(ScoreSystem.myScore > 400)
{
Debug.Log("3 Stars");
}
if(ScoreSystem.myScore < 400)
{
if(ScoreSystem.myScore < 200)
{
Debug.Log("1 Stars");
}
else
{
Debug.Log("2 Stars");
}
}
}
Your answer
Follow this Question
Related Questions
Pickup Counter Script 2 Answers
How to show score after enemy death.,How to show score after the death of the enemy. 1 Answer
Scoresystem wont function correctly 0 Answers
Shooting style like enter the dungeon 0 Answers
Why won't the Score reset? 2 Answers