Graphics Reference
In-Depth Information
}
- ( void )animate
{
//reset ball to top of screen
self .ballView. center = CGPointMake ( 150 , 32 );
//create keyframe animation
CAKeyframeAnimation *animation = [ CAKeyframeAnimation animation ];
animation. keyPath = @"position" ;
animation. duration = 1.0 ;
animation. delegate = self ;
animation. values = @[
[ NSValue valueWithCGPoint : CGPointMake ( 150 , 32 )],
[ NSValue valueWithCGPoint : CGPointMake ( 150 , 268 )],
[ NSValue valueWithCGPoint : CGPointMake ( 150 , 140 )],
[ NSValue valueWithCGPoint : CGPointMake ( 150 , 268 )],
[ NSValue valueWithCGPoint : CGPointMake ( 150 , 220 )],
[ NSValue valueWithCGPoint : CGPointMake ( 150 , 268 )],
[ NSValue valueWithCGPoint : CGPointMake ( 150 , 250 )],
[ NSValue valueWithCGPoint : CGPointMake ( 150 , 268 )]
] ;
animation. timingFunctions = @[
[ CAMediaTimingFunction functionWithName :
kCAMediaTimingFunctionEaseIn ],
[ CAMediaTimingFunction functionWithName :
kCAMediaTimingFunctionEaseOut ],
[ CAMediaTimingFunction functionWithName :
kCAMediaTimingFunctionEaseIn ],
[ CAMediaTimingFunction functionWithName :
kCAMediaTimingFunctionEaseOut ],
[ CAMediaTimingFunction functionWithName :
kCAMediaTimingFunctionEaseIn ],
[ CAMediaTimingFunction functionWithName :
kCAMediaTimingFunctionEaseOut ],
[ CAMediaTimingFunction functionWithName :
kCAMediaTimingFunctionEaseIn ]
] ;
anima tion. keyTimes = @[@0.0 , @0.3 , @0.5 , @0.7 , @0.8 , @0.9 , @0.95 , @1.0] ;
//apply animation
self .ballView. layer . position = CGPointMake ( 150 , 268 );
[ self .ballView. layer addAnimation :animation forKey : nil ];
Search WWH ::




Custom Search