如果我在屏幕上有一个SKSpriteNode,我如何才能轻弹它,使它能够模拟足球被踢的物理效果。如何抛出SKSpriteNode?我猜它会有点像这个问题,但不是节点跟随你的手指之前,它是不应该发生的。它应该看起来像当你轻弹时,你在向节点滑动,然后一旦你的手指碰到节点,它就会像足球一样移动。谁能给我一个地方开始,以实现这一点??
我建议使用touchesBegan
方法和touchesMoved
方法。基本上,跟踪触摸的最后位置,以及时间戳(使用NSTimeInterval
),并在每个touchesMoved
检查足球是否有触摸位置在里面(使用[soccerBall containsPoint:location]
)。然后,计算应该施加在球上的力(比较时间戳和位置),然后运行:
[soccerBall.physicsBody applyImpulse:CGVectorMake(dx, dy)];
用计算结果替换dx
和dy
。您可能希望添加一个比例值,以确保您得到您正在寻找的结果。