我有一些图像,我在其中应用了 UIGravityBehavior,所以它们都掉到了视图的底部。
我希望将所有图像“拖动”到视图中的某个点,例如 x = 160 和 y = 300。gravityDirection 属性完全符合名称所说的,我可以控制重力的方向但不指定某一点。
关于如何做这样的事情的任何想法?
我有一些图像,我在其中应用了 UIGravityBehavior,所以它们都掉到了视图的底部。
我希望将所有图像“拖动”到视图中的某个点,例如 x = 160 和 y = 300。gravityDirection 属性完全符合名称所说的,我可以控制重力的方向但不指定某一点。
关于如何做这样的事情的任何想法?
如果您想纯粹在 中执行此操作UIDynamicAnimator
,则可以使用UISnapBehavior
. 尝试类似:
for myView in self.subviews as [UIView]{
var snapBehavior = UISnapBehavior(item:myView snapToPoint:myPoint);
self.animator!.addBehavior(self.snapBehavior);
}
确保声明变量animator
。myPoint
是您想要将视图拉向的点。希望能帮助到你 :)
您可以使用新的 SKFieldNode 类来执行此操作:
import SpriteKit
let gravity = SKFieldNode.radialGravityField()
gravity.strength = 10.0
gravity.position = CGPoint(x: 160, y: 300)
// add the node to your scene
这也是如何自行滚动的一个很好的例子:stackoverflow.com/a/22855948/887210