如何像足球一样轻弹SKSpriteNode

时间:2015-10-07 01:49:12

标签: ios objective-c skspritenode skphysicsbody skphysicsworld

如果我在屏幕上有一个SKSpriteNode,我怎么能够轻弹它以便模拟被踢的足球的物理特性。 how to throw SKSpriteNode?我猜这有点像这个问题,但是不应该在你的手指被轻弹之前先跟随你的手指。它应该看起来就像当你轻弹你向节点滑动然后一旦你的手指击中节点它就像足球的物理一样移动它。任何人都可以给我一个开始的地方,以实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

我建议使用touchesBegan方法和touchesMoved方法。基本上,跟踪触摸的最后位置以及时间戳(使用NSTimeInterval),并在每个touchesMoved检查足球是否在其中具有触摸位置(使用{{1}然后,计算你应该传递给球的力(比较时间戳,比较位置),然后运行:

[soccerBall containsPoint:location]

[soccerBall.physicsBody applyImpulse:CGVectorMake(dx, dy)]; dx替换为您的计算结果。您可能希望添加比例值以确保获得所需的结果。