这是我到目前为止所获得的视频。恕我直言,我的 MBP + QuickTime + Xcode 不是最好的。
http://www.youtube.com/watch?v=DGRwz7n3kNA
这是我想要的一个非常粗略的草稿,但你可以得到这个想法。性能是最大的问题,但除了性能之外,我还在浪费 CPU/GPU 时间渲染/计算UIImageView背后的粒子(看起来像恶魔的符文)。
有谁知道如何沿着路径发射粒子或更好的方法来获得视图后面的发光动画?这是设置动画的发射器视图的片段:
emitter = (CAEmitterLayer*)self.layer;
CGSize size = self.frame.size;
[emitter setEmitterPosition:CGPointMake(size.width / 2.0f, size.height / 2.0f)];
[emitter setEmitterSize:CGSizeMake(size.width, size.height)];
[emitter setEmitterShape:kCAEmitterLayerCircle];
[emitter setRenderMode:kCAEmitterLayerAdditive];
CAEmitterCell *runeGlow = [CAEmitterCell emitterCell];
[runeGlow setColor:[[UIColor whiteColor] CGColor]];
[runeGlow setName:@"runeGlow"];
[runeGlow setBirthRate:4000.0f];
[runeGlow setVelocity:30.0f];
[runeGlow setLifetime:0.6f];
[runeGlow setEmissionRange:M_PI * 2.0f];
[runeGlow setContents:(id)[[UIImage imageNamed:@"burn.png"] CGImage]];
[emitter setEmitterCells:[NSArray arrayWithObject:runeGlow]];