如果我在屏幕上有一个SKSpriteNode,我将如何轻弹它以便模拟被踢足球的物理状态。 how to throw SKSpriteNode?我猜想这有点像这个问题,但是应该不要出现手指滑动之前未跟随手指的节点。当您轻弹时,它看起来像是朝节点滑动,然后一旦您的手指碰到节点,它就会像足球的物理原理一样移动。谁能给我一个起点,以实现这一目标?
最佳答案
我建议使用touchesBegan
方法和touchesMoved
方法。基本上,跟踪触摸的最后位置以及时间戳(使用NSTimeInterval
),并在每个touchesMoved
上检查足球内部是否具有触摸位置(使用[soccerBall containsPoint:location]
),然后计算您应该在球上施加的力(比较时间戳记,比较位置),然后运行:
[soccerBall.physicsBody applyImpulse:CGVectorMake(dx, dy)];
用计算结果替换
dx
和dy
。您可能希望添加一个比例值,以确保获得所需的结果。关于ios - 如何像踢足球一样轻拂SKSpriteNode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32982493/