1

画面の中央に長方形のグリッドを作成し、端にスペースを残します。その必要性は、私がランダムなポイントでさまざまなスプライトを吐き出し、それらが他の食べるものの上にスポーンし続けるために発生します。だから私は、グリッドを作成し、ランダムな四角形で私を返し、スプライトがその四角形にとどまっている限りそれが占有されていることをマークし、後でそれを解放するクラスを作成する方法があるかどうかを考えました。

私がいくつかの助けやヒントを得ることができればそれは素晴らしいでしょう。これを達成するための他のソリューションも歓迎します。

ありがとう。

4

2 に答える 2

1

for行用と列用の2つのループをネストし、両方を5回実行し、各ループでx位置とy位置を画面の幅と高さの5分の1ずつインクリメントし、これらの座標をに入れ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 に答える