成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Core Animation教程 關(guān)鍵楨動畫實例操作

移動開發(fā) iOS
本文介紹的是Core Animation教程 關(guān)鍵楨動畫實例教程,主要講解的是關(guān)于關(guān)鍵幀的一些內(nèi)容,先來看內(nèi)容。

Core Animation教程 關(guān)鍵楨動畫實例操作是本文要介紹的內(nèi)容,不多說,我們先來看內(nèi)容。實現(xiàn)動畫的操作。

Leopard中***的Core Animation技術(shù)可以讓開發(fā)者簡單地開發(fā)超酷的用戶界面。想想iPhone為什么這么受歡迎,因為它革命性的用戶界面和用戶體驗,可以讓人愛不釋手。在本站之前的文章里,我們介紹過一些關(guān)于Core Animation開發(fā)方面的文章,但是從來沒有介紹過關(guān)于關(guān)鍵楨動畫方面的內(nèi)容。

本文通過一個例子講解Core Animation關(guān)鍵楨動畫方面的基本知識,例子很清晰易懂。建議您有一定Cocoa知識以及掌握初步的Core Animation概念,那么通過本文您會了解更多關(guān)于Core Animation的知識
 
我最近進(jìn)行了一些關(guān)于關(guān)鍵楨動畫方面的研究,感覺不錯。關(guān)鍵楨動畫其實是一個很酷的東西,因為它們會在你創(chuàng)建的層進(jìn)行動作時給你提供更加精確的控制。基本動畫在“開始”和“結(jié)束”點之間進(jìn)行線性插值,在很多情況下,你都可以使用基本動畫。但是有時候,如果你希望進(jìn)行一些不一樣或者更復(fù)雜的動畫時,基本動畫就不夠用了。本文介紹的關(guān)鍵楨動畫可以允許你在動畫的過程中進(jìn)行精確控制。
 
與基本動畫進(jìn)行線性插值不同,關(guān)鍵楨動畫允許你在特定時間指定不同的數(shù)值,這樣你可以在動畫的全過程控制動畫的展示和動作。
 
自從發(fā)明手繪電影以來,關(guān)鍵楨就在動畫中起到了一定作用。一些資深的藝術(shù)家會針對一個場景畫不同的關(guān)鍵楨,而一些剛?cè)胄械乃囆g(shù)家卻會填滿每一楨,以便使動畫看起來更平滑。(有時候這個過程叫做tweening:兩者之間的動畫)。Core Animation的關(guān)鍵楨動畫可以幫我們實現(xiàn)在關(guān)鍵楨之間的填充,我們只需要指定哪個是關(guān)鍵楨,系統(tǒng)會自動幫我們生成動畫。
 
另外一個很酷的東西是,關(guān)鍵楨動畫同樣可以完成任何基本動畫能夠完成的動作。特別是點、大小或是矩形。比如如果我們希望讓一個層的不透明度顯示為一個動畫,我們可以指定一些不同的數(shù)值(比如:0.25, 0.50, 0.75),然后在動畫的過程的不同時間中逐漸變化。
 
再一個真的很酷的方面,我們不光可以使用離散數(shù)值,更可以使用CGPath去指定關(guān)鍵楨動畫的值。換句話說,我們不僅僅可以在特定時間點指定特定的動畫值,還可以使用曲線路徑去指定動畫的值。舉例說明,我們可以將一個層的不透明度用鐘型曲線表示:開始是透明,然后逐漸顯現(xiàn)到某個特定透明度,再逐漸變?yōu)橥该鳌N覀冞€可以用CGPoint和CGSize值的路徑做為動畫的行進(jìn)路線。這樣,路徑的x值可以表示橫坐標(biāo)也可以表示寬度,y既可以表示縱坐標(biāo)還可以表示高度。

本例中,我們會畫一個在窗口中前后行進(jìn)的層,下面是截圖:

Core Animation教程 關(guān)鍵楨動畫實例操作
 
圖中白色的線是一條貝塞爾曲線,我們創(chuàng)建的層會通過這條曲線行進(jìn)。這條曲線畫的很簡單,這樣我們就可以更容易看清楚細(xì)節(jié)。以下是創(chuàng)建路徑的代碼:

  1. CGMutablePathRef path = CGPathCreateMutable();  
  2. CGPathMoveToPoint(path, NULL, _point1.x + _movieSize.width * 0.5f, _point1.y);  
  3. CGPathAddCurveToPoint(path, NULL, _controlPoint1.x + _movieSize.width * 0.5f,  
  4.                         _controlPoint1.y, _controlPoint2.x - _movieSize.width * 0.5f,   
  5.                         _controlPoint2.y, _point2.x - _movieSize.width * 0.5f, _point2.y);  
  6. if(NULL != _rightBoundKeyframePath) {  
  7.     CGPathRelease(_rightBoundKeyframePath);  
  8. }  
  9. _rightBoundKeyframePath = CGPathCreateCopy(path);  
  10. CGPathRelease(path);    
  11. path = CGPathCreateMutable();  
  12. CGPathMoveToPoint(path, NULL, _point2.x - _movieSize.width * 0.5f, _point2.y);  

就像你看到的一樣,這是一段很明了的Quartz路徑創(chuàng)建代碼。接下來我們用以下代碼將路徑放入關(guān)鍵楨動畫中:

  1. CAKeyframeAnimation *animation = [CAKeyframeAnimation animation];  
  2. animation.duration = 2.0f;  
  3. if(YES == _atLeftEdge) {  
  4.     animation.path = _rightBoundKeyframePath;  
  5.     // the rotation mode causes the layer to rotate along with the slope of the path  
  6.     animation.rotationMode = kCAAnimationRotateAuto;  
  7. }   
  8. else {  
  9.     animation.path = _leftBoundKeyframePath;  
  10.     // since the path is reversed, rotate at 180 degrees off  
  11.     animation.rotationMode = kCAAnimationRotateAutoReverse;  
  12. }  
  13. _movieLayer.actions = [NSDictionary dictionaryWithObject:animation forKey:@"position"]; 

這樣一來,無論層的位置如何改變,它都會沿著我們創(chuàng)建的曲線行進(jìn),而不是默認(rèn)的線性插值路徑了。這個例子中還有一些細(xì)節(jié)并未交代的特別清楚,但是這至少已經(jīng)幫助我們了解如何使用關(guān)鍵楨動畫了。

點擊可下載代碼,你可以自己嘗試編譯,希望你喜歡。

小結(jié):Core Animation教程 關(guān)鍵楨動畫實例操作的內(nèi)容介紹完了,希望本文對你有所幫助。

責(zé)任編輯:zhaolei 來源: Cocoa China
相關(guān)推薦

2011-07-03 10:05:52

Core Animat

2014-12-31 13:31:31

圖形動畫翻頁

2015-07-27 10:27:32

IOS基礎(chǔ)知識核心動畫

2011-07-03 10:16:45

Core Animat

2011-08-09 17:21:37

2011-07-03 10:12:35

Core Animat

2011-06-29 18:36:59

Qt 動畫 狀態(tài)機(jī)

2011-06-13 15:00:00

Cocoa TouchiOS

2011-08-16 18:38:23

Core Animat動畫

2011-07-29 09:45:11

iOS 圖形圖像 Core Anima

2014-03-06 13:26:49

動畫資源Animation R

2011-08-17 14:27:17

Core AnimatQuartz2D

2015-09-06 10:14:21

swift加載動畫實例教程

2020-12-04 08:40:29

SVG動畫元素

2023-04-23 09:01:43

CSS動畫合成

2023-04-24 09:23:31

CSS動畫合成

2011-07-22 18:20:04

IOS View 動畫

2011-07-22 16:37:14

IOS CALayer 動畫

2023-01-12 09:40:28

數(shù)字人建模動畫

2013-07-03 16:36:35

iOS 7人機(jī)交互UI設(shè)計Animation動畫
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产欧美精品区一区二区三区 | 九九色综合| 日韩精品一区二区三区在线播放 | 久久综合伊人一区二区三 | 一区二区三区av | 亚洲精品在线视频 | 91精品国产91久久久久青草 | 免费h在线 | 91精品久久久久久久久久 | 1级毛片 | 国产黄色麻豆视频 | 成人乱人乱一区二区三区软件 | 九九热在线免费视频 | 91精品久久久久久久久久入口 | 国产精品自拍视频网站 | 亚洲 欧美 日韩在线 | 欧美 日韩 中文 | 欧美xxxx在线 | 久久午夜视频 | 中文字字幕在线中文乱码范文 | 久婷婷| 亚洲国产日本 | 在线观看视频一区 | 国产精品一区二区在线播放 | 国产乱码精品一区二区三区av | 日本三级电影在线免费观看 | 精品视频999 | 国产精品久久久久久av公交车 | 国产精品一区二区久久精品爱微奶 | 欧美韩一区二区 | 日韩有码在线观看 | 欧美a级成人淫片免费看 | 国产一区二区精品在线观看 | 国产 日韩 欧美 在线 | 精品国产乱码久久久久久图片 | 久久精品国产一区二区 | 亚洲女人天堂成人av在线 | 亚洲久视频 | 国产精品一区在线 | 午夜黄色影院 | 国产资源在线播放 |