iOS Core Animation Police Light Эффект мигающего света - PullRequest
0 голосов
/ 09 января 2012

РЕДАКТИРОВАТЬ: В соответствии с предоставленными комментариями, я указал мой вопрос для более прямой реализации и желаемого решения.

Здравствуйте,

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

Вот скриншот красного и синего изображений, которые я сейчас использую, чтобы попытаться создать эффект.

example screenshot of red and blue images Следующий код в настоящее время изменяет непрозрачность каждого слоя представления:

[UIView animateWithDuration:4.5
                      delay: 1.0
                    options: UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionCurveLinear
                 animations:^{
                     [self startRedAnimation];
                     [self startBlueAnimation];
                 }
                 completion:^(BOOL finished){}];

Мой метод анимации выглядит следующим образом:

- (void)startRedAnimation
{
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"opacity"];
    [animation setFromValue:[NSNumber numberWithFloat:0.75]];
    [animation setToValue:[NSNumber numberWithFloat:0.1]];
    [animation setDuration:0.5f];
    [animation setTimingFunction:[CAMediaTimingFunction
                                  functionWithName:kCAMediaTimingFunctionLinear]];
    [animation setAutoreverses:YES];
    [animation setRepeatCount:16];

    [[_redLightView layer] addAnimation:animation forKey:@"opacity"];
}

Вы можете себе представить, что метод анимации blueLightView выглядит аналогично.

То, что я ищу, - это чтобы изображения выглядели вращающимися, т.е. они не просто отображают непрозрачность от 0 до 1, а скорее меняют цвет и / или вращаются по кругу на виде.

Я бы хотелчтобы использовать это для создания QuartzCore и CoreAnimation фреймворков, вместо UIView анимаций над массивом изображений.

Я относительно новичок в CoreAnimation и выполнил аналогичные эффекты, такие как вращение /пульсирующие слои просмотра, но я просто не уверен, что я мог бы использовать из каркаса, который дал бы мне эффект, который я искал.

Любое понимание будет с благодарностью !Спасибо Stack Overflow сверстникам!

1 Ответ

0 голосов
/ 17 октября 2013

Попробуйте переместить изображения вместо изменения цвета.Я мог бы предположить, что вы могли бы достичь желаемого эффекта, вращая изображения вокруг нижней части экрана вперед и назад. Illustration of the rotating light

...