我想在屏幕中心创建一个矩形网格,在边缘留下一些空间。出现这种情况的必要性是因为我在随机点喷出不同的精灵,并且它们会继续产卵。所以我想如果有一种方法可以创建一个创建网格的类,并返回一个随机的rect,并在精灵停留在该矩形中时将其标记为占用,并在之后使其自由。
如果我能得到一些帮助或任何提示,那将会很棒。任何其他解决方案也是受欢迎的。
感谢。
答案 0 :(得分:1)
你可以嵌套两个for
循环,一个用于行,一个用于列,使它们都运行5次,并且在每个循环中将x位置和y位置增加五分之一的宽度和高度。屏幕并将这些坐标放入CGRrect
。那会做你想要的。
答案 1 :(得分:0)
感谢@andrewx的帮助。这将在给定范围内创建CGRect,然后返回一个随机的。
-(void) makeCGRectArray{
rectsArray = [[NSMutableArray alloc] init];
for (int x = 30; x<=420; x= x+60) {
for (int y=40; y<=280; y=y+40) {
CGRect newRect = CGRectMake(x, y, 60, 40);
[rectsArray addObject:[NSValue valueWithCGRect:newRect]];
}
}
[self getRandomCgrect:rectsArray];
}
-(CGRect) getRandomCgrect:(NSMutableArray*) rectArray{
NSInteger randomPoint = (arc4random() % (49));
CGRect randomRect = [[rectsArray objectAtIndex:randomPoint] CGRectValue];
self.isOccupied = YES;
return randomRect;
}