所以BELOW代码按照我放置它的顺序显示所有这些颜色的动画。但是,如何才能使颜色按照特定顺序显示,而是以RANDOM顺序显示?
bird.animationImages=[NSArray arrayWithObjects:
[UIImage imageNamed:@"red.png"],
[UIImage imageNamed:@"brown.png"],
[UIImage imageNamed:@"green.png"],
[UIImage imageNamed:@"gold.png"],
[UIImage imageNamed:@"black.png"], nil];
[bird setAnimationRepeatCount:0];
bird.animationDuration=1;
[bird startAnimating];
答案 0 :(得分:1)
- (UIImage *)getRandomImages {
NSArray *imagesArray = @[@"image1", @"image2", @"image3"];
NSInteger randomNumber = arc4random_uniform((unsigned int)imagesArray.count - 1);
NSString *imageNames = imagesArray[randomNumber];
return [UIImage imageNamed: imageNames];
}
上面的代码将生成正确的随机图像。
答案 1 :(得分:0)
如果您已经创建了所有这些图像并将它们添加到项目中,那么您可以编写一个帮助方法来获取随机图像。它可能看起来像这样:
- (UIImage*)getRandomColorImage
{
NSInteger kNumberOfColors = 5; // or however many color images you have
NSInteger randomNumber = arc4random() % kNumberOfColors;
if(randomNumber == 0)
{
return [UIImage imageNamed:@"red"];
}
else if (randomNumber == 1)
{
return [UIImage imageNamed:@"brown"];
}
else if (randomNumber == 2)
{
return [UIImage imageNamed:@"green"];
}
else if (randomNumber == 3)
{
return [UIImage imageNamed:@"gold"];
}
else
{
return [UIImage imageNamed:@"black"];
}
}
如果你想让事情变得更加灵活,你可以摆脱你添加到项目中的图像,并在Core Graphics库和这个很酷的github repo的帮助下动态创建任何彩色图像:{{ 3}}。这四条线(产生随机颜色)的神奇之处在于:
CGFloat hue = ( arc4random() % 256 / 256.0 ); // 0.0 to 1.0
CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from white
CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from black
UIColor *color = [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];
答案 2 :(得分:0)
更简单getRandomColorImage
(只是为了好玩):
- (UIImage *)getRandomColorImage {
NSArray *colors = @[@"red", @"brown", @"green", @"gold", @"black"];
NSInteger randomNumber = arc4random_uniform((unsigned int)colors.count);
NSString *colorName = colors[randomNumber];
return [UIImage imageNamed: colorName];
}