ここに私がこれまでに得たもののビデオがあります。私のMBP + QuickTime + Xcodeは最高ではありません。
http://www.youtube.com/watch?v=DGRwz7n3kNA
これは私が望むものの非常に大まかな草案ですが、アイデアを得ることができます。パフォーマンスが最大の問題ですが、パフォーマンスはさておき、UIImageView (悪魔のようなルーン文字) の背後にあるパーティクルのレンダリング/計算に CPU/GPU 時間を浪費しています。
パスに沿ってパーティクルを放出する方法や、ビューの背後で光るアニメーションを取得するより良い方法を知っている人はいますか? アニメーションを設定するエミッタ ビューのスニペットを次に示します。
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]];