在上一文(iOS 解決 UIButton 執(zhí)行動(dòng)畫(huà)后點(diǎn)擊失效問(wèn)題)解決了執(zhí)行動(dòng)畫(huà)后不能響應(yīng)點(diǎn)擊的問(wèn)題后,自己就實(shí)現(xiàn)了一個(gè)酷炫的效果.
簡(jiǎn)單描述一下:天空中飛過(guò)幾只憤怒小鳥(niǎo),手一點(diǎn),憤怒的小鳥(niǎo)落下.非常簡(jiǎn)單的一個(gè)過(guò)程.
先上張效果圖:
實(shí)現(xiàn)的思路:
1).隨機(jī)產(chǎn)生幾個(gè)UIImageView,對(duì) UIImageView 使用animationImages 來(lái)實(shí)現(xiàn)在空中飛的不同狀態(tài).
2).使用了UIBezierPath 來(lái)繪制小鳥(niǎo)的飛行路徑,這里使用了兩個(gè)函數(shù) cos 和 sin,就是圖中的曲線,對(duì)imageView.layer 添加CAKeyframeAnimation 沿著曲線移動(dòng).同時(shí)設(shè)置CAKeyframeAnimation 的代理當(dāng)這次動(dòng)畫(huà)執(zhí)行結(jié)束后,開(kāi)始下一次動(dòng)畫(huà),按照1),2)順序一直執(zhí)行.
3).當(dāng)點(diǎn)擊飛行的小鳥(niǎo)時(shí),再使用1)中方法重新設(shè)置小鳥(niǎo)狀態(tài).同時(shí)使用CABasicAnimation 使小鳥(niǎo)往下落.
代碼都比較簡(jiǎn)單,這里不再貼了.快2017年了!2016終結(jié)篇!!!