2012-01-08 254 views
0

编辑:根据提供的意见,我已指定我的问题更直接的实施和所需的解决方案。iOS核心动画警灯闪烁效果

你好,

我想蓝光,一个红灯,并潜在中性色光,所有出现在圆(类似的可纺到,如果一辆警车附近,你会看到灯闪烁/旋转的颜色)。

下面是我正在使用的红色和蓝色图像视图的屏幕截图,用于设置效果。

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动画方法看起来相似。

我在寻找的是让视图看起来旋转,IE他们不只是从0到1闪烁他们的不透明度,而是改变颜色和/或在视图中绕着一圈旋转。

我想使用QuartzCoreCoreAnimation框架来实现此目的,而不是仅仅通过一组图像上的UIView动画。

我是比较新的CoreAnimation,并执行类似的效果,如旋转/脉冲视图层,但我只是不确定我可以使用框架,会给我我要找的效果。

任何有识之士将不胜感激!感谢Stack Overflow同行!

+1

这个问题过于模糊/模棱两可。有无数的图形样式(想想;“漫画书样式”,“现实的”,等等),并且绘制这些东西的方法会有所不同。问题不在于提出具体的技术问题 - 这是一个普遍问题我甚至无法提供“可接受的答案”所包含的内容大纲。 – Steve 2012-01-08 23:55:13

+0

如果您可以显示视频或草图,说明您希望它的外观如何,那么这个问题就会缩小一点。 – jtbandes 2012-01-09 00:25:06

+0

感谢洞察力,伙计们,我附上了我正在使用的屏幕截图,以及一些具有我现有功能的示例代码,希望这能帮助我的方向看起来更加清晰。 – kturner 2012-01-09 02:16:41

回答

0

尝试移动图像而不是更改颜色。我可以想象,您可以通过来回旋转屏幕底部的图像来达到预期的效果。 Illustration of the rotating light