1

我想在屏幕中心创建一个矩形网格,在边缘留下一些空间。之所以需要这样做,是因为我在随机点喷出不同的精灵,并且它们不断在吃掉其他精灵的顶部产生。所以我想如果有一种方法可以创建一个类来创建网格并返回一个随机矩形并将其标记为占用,只要精灵停留在该矩形中并在之后使其自由。

如果我能得到一些帮助或任何提示,那就太好了。也欢迎任何其他实现这一目标的解决方案。

谢谢。

4

2 回答 2

1

您可以嵌套两个for循环,一个用于行,一个用于列,使它们都运行 5 次,并在每个循环中将 x 位置和 y 位置增加屏幕宽度和高度的五分之一,并将这些坐标放入CGRrect. 那会做你想要的。

于 2012-04-26T16:51:39.390 回答
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;
}
于 2012-04-27T04:11:18.767 回答