- Home /
Beginner: For Loop freezing unity
Well, just as it says at the top. I have an empty game object and a script attached to it. The script should loop through some numbers representing coordinates for future objects but as soon as I hit play in unity, the whole program freezes. The function is called from inside Start() and I tried putting a print command inside to verify that it gets to that point but the program freezes completely so nothing is printed to the console anyway. I have to kill it from within task manager every time.
function Start () {
PlaceStars();
}
function PlaceStars () {
objectID = 1;
for (zCoordinate = universeRadius; zCoordinate > -universeRadius * 2; zCoordinate++) {
for (xCoordinate = universeRadius; xCoordinate > -universeRadius * 2; xCoordinate++) {
//NewStar(xCoordinate, zCoordinate);
print(xCoordinate + ", " + zCoordinate);
}
}
}
The variables are in the right place, of the right type and instantiated already. Ask if you need more details but I can't think of anything else right now. Thanks for any help in advance.
Yep, I'm a fool once again :P Thank you so much. Corrected :) I can't believe I didn't see that when I've specifically been searching for an infinite loop.
Answer by AlucardJay · Jun 25, 2013 at 06:26 AM
for (zCoordinate = universeRadius; zCoordinate > -universeRadius * 2; zCoordinate++) {
while zCoordinate is greater than -universeRadius * 2 , zCoordinate ++ .
this would infinitely loop, right?
universeRadius is +ve I assume, zCoordinate = universeRadius is +ve,
while zCoordinate is greater than -universeRadius * 2 : while a +ve value is greater than a -ve value
zCoordinate ++ : the +ve value gets even larger, more +ve ?!
Infinite loop.
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Make a game using only Scripting/C#? 1 Answer
Scripting Tut. 1 Answer
Weird Code Error Message 2 Answers