2011-02-10 2 views
0

(у меня есть шесть вида изображения, и я хочу, чтобы оживить изображение в случайном порядке в течение двух секунд между ними.)Как я могу выбрать любые точки произвольно и непрерывно?

Здравствуйте, друзья,
У меня есть шесть вида изображения с различными статическими изображениями в одной точке зрения, и я хочу, чтобы анимировать с помощью

img1.animationImages = [NSArray arrayWithObjects: 
            [UIImage imageNamed:imgName], 
            [UIImage imageNamed:imgName2], 
            [UIImage imageNamed:imgName], 
            [UIImage imageNamed:imgName2], 
            [UIImage imageNamed:imgName], 
            [UIImage imageNamed:imgName2], 

метод, и я хочу, чтобы изображение было просмотрено случайным образом в течение двух секунд.

Каков наилучший способ для этого?

ответ

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» ,

+0

Но как я могу знать, что я хочу оживить изображение В пределах определенной камеры просмотра изображений? я хочу выбрать выход случайно – NIKHIL

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; 
0

вы можете выбрать изображения из массива с помощью случайного индекса:

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