我正在使用SpriteKit处理屏幕上的一堆小精灵。我想告诉其中一个精灵“捕捉”到一个特定的位置,就像在UIView上使用“UISnapBehavior”一样。我可以应用一个'SKAction moveTo:‘,但是我没有得到'boing’的结尾,这感觉会很好。我觉得我在这里遗漏了一些东西,因为这肯定是一个常见的需求。
谢谢你的帮助--只要一个指针就行了……!
发布于 2014-10-21 11:06:45
UIKit中的反弹来自于对弹力进行建模。SpriteKit有自己的弹力建模选项:SKPhysicsJointSpring和SKFieldNode上的springField构造函数。使用哪种效果取决于您要获得什么样的效果,您是否希望同时影响多个实体,以及您是否计划支持iOS 7或仅支持8.0和更高版本。
您还可以研究如何将moveTo操作与自定义timingFunction一起使用-使用生成damped oscillation的计时函数可能会获得相同的“过冲和反弹”行为。
发布于 2017-02-20 15:41:13
我对你也有同样的要求,我使用了physicsBody的速度,它对我很有效。
for node in nodes {
let p = node.position
let dx = point.x - p.x
let dy = point.y - p.y
node.physicsBody?.velocity = CGVector(dx: dx, dy: dy)
}https://stackoverflow.com/questions/26476410
复制相似问题