如何随机连续选择任何插座?

时间:2011-02-10 13:16:15

标签: iphone animation iphone-sdk-3.0 uiimageview uiimage

(我有六个图像视图,我想在它们之间随机动画两秒钟。)

你好朋友,
我在一个视图中有六个带有不同静态图像的图像视图,我希望它们在

的帮助下进行动画制作
img1.animationImages = [NSArray arrayWithObjects:   
                                    [UIImage imageNamed:imgName],
                                    [UIImage imageNamed:imgName2],
                                    [UIImage imageNamed:imgName],
                                    [UIImage imageNamed:imgName2],
                                    [UIImage imageNamed:imgName],
                                    [UIImage imageNamed:imgName2],

方法,我想随机选择imageview两秒钟。

这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:2)

那么从0,1,2,3,4,5中选择一个随机数,就这样做

randomNumber = arcRandom() % 6;

要“显示两秒钟”,您需要了解NSTimer。这很简单。这是一个简单的定义,可以在一段时间内完成某些任务:

#define SCHED( T, S )                                               \
    [NSTimer scheduledTimerWithTimeInterval:T                       \
        target:self selector:@selector(S) userInfo:nil repeats:NO]

例如:

SCHED( 2.0, eliminateImage );
SCHED( 0.5, fadeToBlack );

在每种情况下,您都必须编写例程“eliminateImage”或“fadeToBlack”。

答案 1 :(得分:0)

这可能会对你有帮助。

imageArray = [[NSMutableArray alloc] initWithCapacity:IMAGE_COUNT];
for (int i = 1; i <= IMAGE_COUNT; i++)
    [imageArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"Image%d.png", i]]];


bgImage.animationImages = [NSArray arrayWithArray:imageArray];
bgImage.animationDuration = 9.0;
bgImage.animationRepeatCount = 0.0;
[self.view addSubview:bgImage];
bgImage.startAnimating;

答案 2 :(得分:0)

您可以使用随机索引从数组中选择图像:

int index = int index = rand()%[img1.animationImages count];