————————————【 iOS—UIDynamic 】—————————————
一、簡單介紹
1.什么是UIDynamic
UIDynamic是從iOS 7開始引入的一種新技術,隸屬于UIKit框架
可以認為是一種物理引擎,能模擬和仿真現實生活中的物理現象
如:重力、彈性碰撞等現象
2.物理引擎的價值
廣泛用于游戲開發,“憤怒的小鳥”
讓開發人員可以在遠離物理學公式的情況下,實現炫酷的物理仿真效果
提高了游戲開發效率,產生更多優秀好玩的物理仿真游戲
3.知名的2D物理引擎
Box2d
Chipmunk
二、使用步驟
要想使用UIDynamic來實現物理仿真效果,大致的步驟如下
(1)創建一個物理仿真器(順便設置仿真范圍)
(2)創建相應的物理仿真行為(順便添加物理仿真元素)
(3)將物理仿真行為添加到物理仿真器中開始仿真
現實生活:
運動場——物理仿真器(環境)
跑步——物理仿真行為
人——仿真元素
三、相關說明
1.三個概念
(1)誰要進行物理仿真?
物理仿真元素(Dynamic Item)
(2)執行怎樣的物理仿真效果?怎樣的動畫效果?
物理仿真行為(Dynamic Behavior)
(3)讓物理仿真元素執行具體的物理仿真行為
物理仿真器(Dynamic Animator)
2.物理仿真元素
注意:
不是任何對象都能做物理仿真元素
不是任何對象都能進行物理仿真
物理仿真元素要素:
任何遵守了UIDynamicItem協議的對象
UIView默認已經遵守了UIDynamicItem協議,因此任何UI控件都能做物理仿真
UICollectionViewLayoutAttributes類默認也遵守UIDynamicItem協議
3.UIDynamic提供了以下幾種物理仿真行為
UIGravityBehavior:重力行為
UICollisionBehavior:碰撞行為
UISnapBehavior:捕捉行為
UIPushBehavior:推動行為
UIAttachmentBehavior:附著行為
UIDynamicItemBehavior:動力元素行為
實現演示效果需要掌握以下知識點
———————————【 UIDynamicAnimator 動畫播放者 】————————————
一、UIKit動力學(UIKIt Dynamics)
1.概念:UIKit的一套動畫和交互體系
2.UI動畫:CoreAnimation、UIView animations
3.2D物理引擎:重力,鉸鏈連接,碰撞,懸掛等效果(模擬現實拖拽、彈性效果)
4.功能:作為交互設計和實現的補充(并不是替代CA或者UIView動畫)
tips:
1.CA:
self.view.transform = CGAffineTransformMakeRotation(M_PI_4);
2.UIView:
//設置序列圖數組
imageView1.animationImages = imageArray;
imageView1.animationDuration = 2;
imageView1.animationRepeatCount = 0;
//播放動畫
[imageView1 startAnimating];
[imageView1 stopAnimating];
二、UIKit動力學實現的結構
1.UIDynamicItem(描述一個力學物體的狀態):其實就是實現了UIDynamicItem委托的對象;
2.UIDynamicBehavior(動力行為的描述):用來指定UIDynamicItem應該如何運動。
3.UIDynamicAnimator(動畫的播放者):動力行為(UIDynamicBehavior)的容器,添加到容器內的行為將發揮作用;
4.ReferenceView(等同于力學參考系):只有當想要添加力學的UIView的子View時,動力UI才發生作用