3
這是我迄今爲止獲得的視頻。請原諒,我的MBP + QuickTime + Xcode不是最好的。改善/優化CAEmitterLayer動畫的性能(沿着路徑發出?)
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]];
此外,kCAEmitterLayerAdditive可能會很昂貴,這對我幫助很大。 – Andy