- Home /
every x points, object speed increases
Ok, I'm having a bit of trouble figuring this one out. I'm not much of a coder so I'm here asking for help. I don't think it will be a problem to figure out for yous all over here ;)
var objectSpeed: int;
function Update () {
objectSpeed = 2;
amtToMove = objectSpeed * Time.deltaTime;
transform.Translate(Vector3.down * amtToMove);
if(transform.position.y <= -0.1){
transform.position.y = 6;
transform.position.x = Random.Range(-4.8,4.8);
iPhoneUtils.Vibrate();
scoreScript.playerScore -= 50;
}
if (( scoreScript.playerScore % 200 ) == 0){
objectSpeed = 5;
}
}
The code above increases the speed of the falling objects by .5 once the score hits 200. What I want to happen is, every 200 points I want the speed to increase by .5, but I don't know how to go about doing that. I'm guessing I might need to be using a loop for this?
Any assistance is appreciated.
Answer by · Oct 28, 2010 at 10:51 PM
You don't need a loop - you can use the modulo operator to find the remainder of division of one number by another.
Practically:
if (( scoreScript.playerScore % 200 ) == 0)
// if the remainder of playerScore / 200 is 0
You'd put this check just after wherever you increase the score, so it doesn't get checked every frame.
I get what you're saying, and it's making sense, but it doesn't seem to be working. $$anonymous$$aybe it's where I'm placing the code? The full script is in my original question. If I reach 200 points, it doesn't change the speed.
Although that placement isn't ideal (as it will be checked every frame, rather than only where necessary - i.e. when the score is increased), it should still work. Is the score a float or an int? Is it possibly not exactly 200?
Your answer
Follow this Question
Related Questions
Why cant I subtract point from my score? 1 Answer
Collision and score 1 Answer
On screen scoring in multiplayer 1 Answer
Modified Roll a Ball Tutorial,Modified Roll a Ball tutorial question 1 Answer
[need help please] Score when AI Dies 0 Answers