簡體   English   中英

是否可以在UIDynamicKit中模擬重力到對象/ UIView?

[英]Is it possible to simulate gravity to an object / UIView in UIDynamicKit?

如果不使用SpriteKit,是否可以為UIView對象模擬重力? 我想要實現的是一個中心UIView及其周圍漂浮着其他對象。 幾乎像太陽周圍的行星。 並且還可以吸引和排斥中心對象。

我知道您可以將水平和垂直重力添加到超級視圖中。

謝謝!

解決方案是使用UIAttachmentBehavior。

let attachment = UIAttachmentBehavior(item: node, attachedTo: self.ownerNode)

            self.animator.addBehavior(attachment)

上面的代碼將把節點對象附加到self.ownerNode上。 我還將UISnapBehavior添加到self.ownerNode中,以便在從中心拖動時,self.ownerNode將始終捕捉回到中心,並且所有其他節點都將其跟隨。

let snapCenter = UISnapBehavior(item: self.ownerNode, snapTo: self.view.center)
            self.animator.addBehavior(snapCenter)

另一種方法:使用字段。

我認為UIKit Dynamics在iOS 9左右的某個時間將字段引入表中。

場為他們...的影響領域內的所有位置提供的“力”相同,相似或獨特的載體。 由此得名。

您可以切換一個字段,以便它在某一時刻推動,在另一時刻進行拉動,甚至將它們組合,分層並在影響區域的屏幕周圍對齊它們。

屏幕的中央可以像行星重力一樣作用單個場,使衛星繞其移動,掉入其中或被排斥。

無論是在創造力還是影響力方面,領域都是UIKit Dynamics的一項非常強大的功能。 它們也非常有效,因為它們僅對您規定受其影響的那些事情起作用。 因此,盡管它們的字段可能很大,並且它們的功能決定位置影響很復雜,但它們仍然非常有效。

您可以在這里閱讀/觀看/收聽更多有關它們的信息:

https://developer.apple.com/videos/play/wwdc2015/229/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM