CAEmitterLayer heartsEmitter = new CAEmitterLayer();
public override void ViewDidLoad()
{
base.ViewDidLoad();
heartsEmitter.Position = new CGPoint(BtnSpreadLove.Frame.X + BtnSpreadLove.Frame.Size.Width / 2.0f,
BtnSpreadLove.Frame.Y + BtnSpreadLove.Frame.Size.Height / 2.0f);
heartsEmitter.Size = BtnSpreadLove.Bounds.Size;
heartsEmitter.Mode = "kCAEmitterLayerVolume";
heartsEmitter.Shape = "kCAEmitterLayerRectangle";
heartsEmitter.RenderMode = "kCAEmitterLayerAdditive";
CAEmitterCell heart = new CAEmitterCell();
heart.Name = "heart";
heart.EmissionLongitude = (nfloat)Math.PI / 2.0f;
heart.EmissionRange = 0.55f * (nfloat)Math.PI;
heart.BirthRate = 0.0f;
heart.LifeTime = 10.0f;
heart.Velocity = -120;
heart.VelocityRange = 60;
heart.AccelerationY = 20;
heart.Contents = UIImage.FromBundle("DazHeart").CGImage;
heart.Color = UIColor.FromRGBA(0.5f, 0.0f, 0.5f, 0.5f).CGColor;
heart.RedRange = 0.3f;
heart.BlueRange = 0.3f;
heart.AlphaSpeed = -0.5f / heart.LifeTime;
heart.Scale = 0.15f;
heart.ScaleSpeed = 0.5f;
heart.SpinRange = 2.0f * (nfloat)Math.PI;
heartsEmitter.Cells = new CAEmitterCell[] { heart };
this.View.Layer.AddSublayer(heartsEmitter);
BtnSpreadLove.TouchUpInside += (sender, e) => {
var heartsBurst = CABasicAnimation.FromKeyPath("emitterCells.heart.birthRate");
heartsBurst.From = NSNumber.FromFloat(10.0f);
heartsBurst.To = NSNumber.FromFloat(0.0f);
heartsBurst.Duration = 15.0f;
heartsBurst.TimingFunction = CAMediaTimingFunction.FromName(CAMediaTimingFunction.Linear);
heartsEmitter.AddAnimation(heartsBurst, "heartsBurst");
};
}
public override void ViewWillUnload()
{
base.ViewWillUnload();
heartsEmitter.RemoveFromSuperLayer();
heartsEmitter = null;
}
guntidheerajkumar/CAEmitterLayer-Animation
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
CAEmitterLayer Heart Animation
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published