Hello,
In my game i am generating power at some interval. I am setting position of power by one function named "setXYPower".
I have some obstacles in the screen. The generated power and any of obstacles must not be at the same position.
-(void)setXYPower
{
bool flag = FALSE;
int x = 30 + arc4random() % (460-30+1);
int y = 20 + arc4random() % (300-20+1);
CGRect rect1 = rectangle of sprite (power);
CGRect rect2;
for(obstacles *t in arrObstacles)
{
rect2 = rectangle of obstacle;
if(CGRectIntersectsRect(rect1, rect2) == TRUE)
{
flag = FALSE;
break;
}
}
if(flag == TRUE)
{
Set position of power sprite //powerFix.position = cpv(x,y);
}
else
{
[self setXYPower];
}
}
Now, my problem is in some level when there are many obstacles & [self setXYPower] call more then one error (GDB:Program loaded)comes.
New window (Debugger) is open and following line is displayed.
loading 24959 stack frame... (1,2,... %)
Thanks in advance.