2017-01-05 6 views
1

SpriteKit을 사용하지 않으면 UIView 객체의 중력을 시뮬레이션 할 수 있습니까? 내가 달성하려고 노력하고있는 것은 중심에있는 다른 객체가있는 UIView입니다. 태양 주위의 행성과 거의 같습니다. 또한 중심 대상에서 끌어 당기고 격퇴하십시오.UIDynamicKit에서 객체/UIView에 중력을 시뮬레이트 할 수 있습니까?

나는 수퍼 뷰에 수평 및 수직 중력을 추가 할 수 있습니다.

감사합니다.

답변

1

해결 방법은 UIAttachmentBehavior를 사용하는 것입니다.

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

      self.animator.addBehavior(attachment) 

위의 코드에는 노드 객체가 self.ownerNode에 첨부됩니다. 또한 self.ownerNode에 UISnapBehavior를 추가하여 중심에서 드래그 할 때 self.ownerNode가 항상 중앙으로 돌아가고 모든 노드가 모두 따라 가게합니다.

1

다른 접근 방법 : 필드를 사용하십시오.

UIKit Dynamics는 iOS 9에서 언젠가 테이블에 필드를 가져 왔습니다.

필드는 그 안에있는 모든 위치에 대해 "강제"와 같거나 유사하거나 고유 한 벡터를 제공합니다 ... 필드 영향을줍니다. 그러므로 이름.

필드를 전환 할 수 있으므로 한 번에 밀거나 다른 곳으로 가져 가거나 결합하여 영향을 미치는 부분의 화면 주위로 정렬 할 수 있습니다.

하나의 필드는 화면 가운데에서 행성의 중력과 같이 작동 할 수 있습니다. 인공위성이 그 주위를 움직이거나, 떨어지거나, 격퇴 될 수 있습니다.

필드는 독창성과 영향력 측면에서 UIKit Dynamics의 매우 강력한 기능입니다. 그들은 또한 당신이 그들에 의해 영향을 받기 위해 규정 한 것들에만 작용하기 때문에 현저히 효율적입니다. 따라서 필드 크기가 클 수 있고 위치 영향을 결정하는 기능이 복잡하기는하지만 여전히 효율적입니다.

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

:

당신은 여기에 대한 자세한 청취// 시계를 읽을 수 있습니다