如果我在屏幕上有一个SKSpriteNode,我将如何轻弹它以便模拟被踢足球的物理状态。 how to throw SKSpriteNode?我猜想这有点像这个问题,但是应该不要出现手指滑动之前未跟随手指的节点。当您轻弹时,它看起来像是朝节点滑动,然后一旦您的手指碰到节点,它就会像足球的物理原理一样移动。谁能给我一个起点,以实现这一目标?

最佳答案

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

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


用计算结果替换dxdy。您可能希望添加一个比例值,以确保获得所需的结果。

关于ios - 如何像踢足球一样轻拂SKSpriteNode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32982493/

10-10 23:25