Как я могу выбрать любые торговые точки случайно и непрерывно? - PullRequest
0 голосов
/ 10 февраля 2011

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

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 10 февраля 2011

Хорошо, чтобы выбрать случайное число из 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 );

в каждом случае вам придется написать подпрограмму "устранить" или "fadeToBlack".

0 голосов
/ 10 февраля 2011

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

int index = int index = rand()%[img1.animationImages count];
0 голосов
/ 10 февраля 2011

это может вам помочь.

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