0

如果我在屏幕上有一个 SKSpriteNode,我将如何轻弹它以模拟足球被踢的物理效果。如何抛出 SKSpriteNode?我猜它会有点像这个问题,但是不应该发生在你的手指被轻弹之前先跟随你的节点。它应该看起来像当你轻弹时你正在向节点滑动,然后一旦你的手指击中节点,它就会像足球一样移动它。谁能给我一个起点来实现这一目标?

4

1 回答 1

1

我会推荐使用touchesBegan方法和touchesMoved方法。基本上,跟踪触摸的最后位置以及时间戳(使用NSTimeInterval),并在每次touchesMoved检查足球内部是否有触摸位置(使用[soccerBall containsPoint:location]。然后,计算你应该施加在球上的力(比较时间戳,比较位置),然后运行:

[soccerBall.physicsBody applyImpulse:CGVectorMake(dx, dy)];

用你的计算结果替换dx和。dy您可能希望添加一个比例值以确保获得您正在寻找的结果。

于 2015-10-08T18:05:14.340 回答