老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

核心動畫的接觸點滴(三)-創新互聯

本篇記錄的是核心動畫的中的CApropertyAnimation中的關鍵幀動畫部分。非常有用:

創新互聯是一家專業提供綏濱企業網站建設,專注與網站建設、成都網站設計H5開發、小程序制作等業務。10年已為綏濱眾多企業、政府機構等服務。創新互聯專業網絡公司優惠進行中。

關鍵幀動畫是CApropertyAnimation的子類,跟CABasicAnimation的區別是:CABasicAnimation只能從一個數值(fromValue)變到另一個數值(toValue),而CAKeyframeAnimation會使用一個NSArray保存這些數值

屬性解析:

values:就是上述的NSArray對象。里面的元素稱為”關鍵幀”(keyframe)。動畫對象會在指定的時間(duration)內,依次顯示values數組中的每一個關鍵幀

path:可以設置一個CGPathRef\CGMutablePathRef,讓層跟著路徑移動。path只對CALayer的anchorPoint和position起作用。如果你設置了path,那么values將被忽略

keyTimes:可以為對應的關鍵幀指定對應的時間點,其取值范圍為0到1.0,keyTimes中的每一個時間值都對應values中的每一幀.當keyTimes沒有設置的時候,各個關鍵幀的時間是平分的說明:CABasicAnimation可看做是最多只有2個關鍵幀的CAKeyframeAnimation

第一種使用方法:

//view()

voidUIView

 創建核心動畫幀動畫

  CAKeyframeAnimation *keyAnima=[CAKeyframeAnimation animation];

  //使用平移的方式//平移

  keyAnima.keyPath=@"position";

  //告訴系統要執行什么動畫

  NSValue *value1=[NSValue valueWithCGPoint:CGPointMake(100, 100)];

  NSValue *value2=[NSValue valueWithCGPoint:CGPointMake(200, 100)];

  NSValue *value3=[NSValue valueWithCGPoint:CGPointMake(200, 200)];

  NSValue *value4=[NSValue valueWithCGPoint:CGPointMake(100, 200)];

  NSValue *value5=[NSValue valueWithCGPoint:CGPointMake(100, 100)];

  //加入幀動畫數組

  keyAnima.values=@[value1,value2,value3,value4,value5];

  //設置動畫執行完畢后,不刪除動畫

  keyAnima.removedOnCompletion=NO;

  //設置保存動畫的最新狀態

  keyAnima.fillMode=kCAFillModeForwards;

  //設置動畫執行的時間

  keyAnima.duration=1.0;

   //設置動畫的節奏(開始和結束時的快慢)

  keyAnima.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

  //設置代理,開始—結束

  [view.layer addAnimation:keyAnima forKey:nil];

可以看得出來,這個和之前的基本動畫里的平移動畫類似,只不過它的value變成了一個數組了,其中設置的動畫的執行節奏有如下幾種:(可以自己去嘗試)

    kCAMediaTimingFunctionEaseIn

    kCAMediaTimingFunctionEaseOut

    kCAMediaTimingFunctionEaseInEaseOut

    kCAMediaTimingFunctionDefault

第二種方法(使用path),讓layer在指定的路徑上移動

-(void)addKeyFrameAnimationOnView2:(UIView *)view

{

  CAKeyframeAnimation *keyAnima = [CAKeyframeAnimation animation];

  keyAnima.keyPath = @"position";

  keyAnima.duration = 1.0f;

  //創建一條路徑

  CGMutablePathRef path = CGPathCreateMutable();

  //設置一個圓的路徑

  CGPathAddEllipseInRect(path, NULL, CGRectMake(Width/2, Height/2+100, 50, 50));

  keyAnima.path = path;  //記得一定要設置

  //release

  CGPathRelease(path);

  //取消執行完后移除動畫

  keyAnima.removedOnCompletion = NO;

  //設置保存動畫的最新狀態

  keyAnima.fillMode = kCAFillModeForwards;

  //設置動畫的節奏(這里選擇漸入漸出)

  keyAnima.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

  [view.layer addAnimation:keyAnima forKey:nil];

停止動畫調用方法: removeAnimationForKey:即可(前提是要知道需要停止的動畫之前被賦予的key,才能匹配并停止)

視圖的抖動:

//

180.0//獲取自定義弧度

{

  CAKeyframeAnimation *keyAnima = [CAKeyframeAnimation animation];

  keyAnima.keyPath = @"transform.rotation";

  keyAnima.duration = 0.1f;

  //設置視圖的抖動弧度(其實還是幀動畫)

  CGFloat angel = 5.0;

  keyAnima.values=@[@(-angle2Radian(angel)),@(angle2Radian(angel)),@(-angle2Radian(angel))];

  keyAnima.removedOnCompletion = YES;

  keyAnima.repeatCount = 2;

  keyAnima.fillMode = kCAFillModeForwards;

  [view.layer addAnimation:keyAnima forKey:nil];

}

寫法跟幀動畫沒有太大區別,只是要設置一下重復的次數和完成后移除動畫

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


文章標題:核心動畫的接觸點滴(三)-創新互聯
瀏覽地址:http://www.xueling.net.cn/article/dogcgs.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲欧美日韩精品一区二区 | 动漫91| 国产精品久久久影视青草 | 日产国产精品亚洲系列 | 欧美性受xxxx黑人猛交 | 黄动漫在线免费观看 | 亚洲中文字幕无码一区日日添 | 欧美色蜜桃97 | 新白娘子传奇50集免费赵雅芝版 | 国产精品不卡一区二区三区在线观看 | 黄页在线免费看 | 天天爱天天做天天做天天吃中文 | 久草高清在线 | 欧美日韩中文字幕在线 | 亚洲精品一级 | 国产精品人成视频免费播放 | 国产免费不卡视频 | 欧洲人妻丰满AV无码久久不卡 | 益日韩欧群交P片内射中文 最好看的中文视频最好的中文 | 不卡视频一区 | 高清无码视频直接看 | a色网站| 澳门精品无码一区二区三区 | 久久网一区二区 | 久久精品不卡一区二区 | 日韩性活大片 | 天天爱夜夜 | 亚洲cb精品一区二区三区 | 激情综合色综合啪啪开心 | 蜜臀AV免费一区二区三区 | 国产一级伦理片 | 久草久草| 日韩精品一二区 | 国产精品久久久久久久久久嫩草 | 91综合影院 | 色999国产 | 国产一区欧美日韩精品 | 欧美日本一区 | 日本丰满熟妇乱XXXXX故事 | 国产一级性生活 | 国产精品高潮久久久久久无码 |