0

我有一些图像,我在其中应用了 UIGravityBehavior,所以它们都掉到了视图的底部。

我希望将所有图像“拖动”到视图中的某个点,例如 x = 160 和 y = 300。gravityDirection 属性完全符合名称所说的,我可以控制重力的方向但不指定某一点。

关于如何做这样的事情的任何想法?

4

2 回答 2

0

如果您想纯粹在 中执行此操作UIDynamicAnimator,则可以使用UISnapBehavior. 尝试类似:

for myView in self.subviews as [UIView]{
var snapBehavior = UISnapBehavior(item:myView snapToPoint:myPoint);
self.animator!.addBehavior(self.snapBehavior);
}

确保声明变量animatormyPoint是您想要将视图拉向的点。希望能帮助到你 :)

于 2014-12-16T02:28:34.410 回答
0

您可以使用新的 SKFieldNode 类来执行此操作:

https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKFieldNode_Ref/index.html#//apple_ref/occ/clm/SKFieldNode/radialGravityField

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

于 2014-09-18T16:36:56.593 回答