如何像踢足球一样轻弹SKSpriteNode



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

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

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

用计算结果替换dxdy。您可能希望添加一个比例值,以确保您得到您正在寻找的结果。

最新更新