Rastgele bir renk almaya çalışıyorum. Ben kaba kuvvet kullanarak yaptım ama (dağıtım oldukça bile olsa) bu yöntem aşırı zahmetli görünüyor: NasılgetRandomColor ancak koyu renklerden kaçının: Algoritıma yardımcı olun
- (UIColor *) getRandomColor {
// GOAL: reject colors that are too dark
float total = 3;
float one = arc4random() % 256/256.0;
total -= one;
float two = arc4random() % 256/256.0;
total -= two;
float three = total; // UIColor will chop out-of-range nums
NSMutableArray *threeFloats = [[[NSMutableArray alloc] initWithObjects:[NSNumber numberWithFloat:one], [NSNumber numberWithFloat:two], [NSNumber numberWithFloat:three], nil] autorelease];
NSNumber *red, *green, *blue;
red = [threeFloats objectAtIndex:arc4random() % [threeFloats count]];
[threeFloats removeObject:red];
green = [threeFloats objectAtIndex:arc4random() % [threeFloats count]];
[threeFloats removeObject:green];
blue = [threeFloats lastObject];
return [UIColor colorWithRed:[red floatValue] green:[green floatValue] blue:[blue floatValue] alpha:1];
}
iyisini edilebilir? Ben kırmızı, yeşil ve mavi bir eşit dağılımını istiyorum ve çok karanlık bir şey (aksi takdirde üç rastgele sayıları alıp onunla yapalım).