iOS物理仿真

————————————【 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才發生作用

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容