有人能建议我如何改变UIPushBehavior震级力与源的距离。反映风扇对另一物体的影响。所以物体离风扇越近,力就越强。
if String(describing: identifier) == "fan1" {
self.push = UIPushBehavior(items: [self.object], mode: .instantaneous)
self.push.setAngle(.pi/4, magnitude: 1)
self.animator.addBehavior(self.push)
self.push.addItem(self.object)
}发布于 2022-04-16 17:23:34
使用UIFieldBehaviour在风扇的方向上创建一个线性引力场。然后您可以指定一个falloff
var forceField: UIFieldBehaviour!
// ...
forceField = UIFieldBehavior.linearGravityField(direction: CGVector(dx: 1, dy: -5))
// example values for a "fan" on the bottom left blowing mostly upwards:
forceField.position = CGPoint(x: view.bounds.minX, y: view.bounds.maxY)
forceField.region = UIRegion(radius: 3000)
forceField.minimumRadius = 100
forceField.falloff = 5
forceField.strength = 10
forceField.addItem(view1)
forceField.addItem(view2)
animator.addBehavior(forceField)玩这些价值观玩得开心点!
在两个视图中添加碰撞、另一个重力行为和一个动态项行为,我们得到以下效果:

对我来说就像左下角的扇子!
你也可以选择一个位于风扇所在位置的径向引力场,如果你的风扇位于一个角落,并“径向”地吹,但请注意,在这种情况下,你应该使用strength的负值来表示这个场排斥而不是吸引。
https://stackoverflow.com/questions/71895467
复制相似问题