根据动画方向旋转CAEmitterCell内容

时间:2014-03-06 06:52:39

标签: ios calayer caemitterlayer caemittercell

使用CAEmitterLayer和Cell显示具有方向敏感内容图像的粒子(箭头)。

希望内容(箭头图像)指向单元格移动的方向。

这是让所有箭头从外边缘向中心移动的代码。如何旋转图像使图像指向移动方向:

emitterLayer = [CAEmitterLayer layer];
emitterLayer.emitterPosition = self.view.center;
emitterLayer.emitterSize = self.view.bounds.size;
emitterLayer.emitterMode = kCAEmitterLayerOutline;
emitterLayer.emitterShape = kCAEmitterLayerRectangle;

CAEmitterCell* arrow = [CAEmitterCell emitterCell];
arrow.birthRate     = 10;
arrow.velocity      = 100;
arrow.emissionLatitude = M_PI;
arrow.scale         = 0.5;
arrow.lifetime      = 2;
arrow.contents = (id) [[UIImage imageNamed:@"arrowOutline.png"] CGImage];


emitterLayer.emitterCells = @[arrow];
[self.view.layer addSublayer:emitterLayer];

如何根据细胞运动方向调整内容图像?

1 个答案:

答案 0 :(得分:0)

使用4个不同的CAEmitterLayers为每个方向设置一个,其中emitterPosition是屏幕的每个边缘,emitterSize是给定边缘的长度。

如果有更好的解决方案,请分享。