如果我在屏幕上有一个 SKSpriteNode,我将如何轻弹它以模拟足球被踢的物理效果。如何抛出 SKSpriteNode?我猜它会有点像这个问题,但是不应该发生在你的手指被轻弹之前先跟随你的节点。它应该看起来像当你轻弹时你正在向节点滑动,然后一旦你的手指击中节点,它就会像足球一样移动它。谁能给我一个起点来实现这一目标?
问问题
110 次
1 回答
1
我会推荐使用touchesBegan
方法和touchesMoved
方法。基本上,跟踪触摸的最后位置以及时间戳(使用NSTimeInterval
),并在每次touchesMoved
检查足球内部是否有触摸位置(使用[soccerBall containsPoint:location]
。然后,计算你应该施加在球上的力(比较时间戳,比较位置),然后运行:
[soccerBall.physicsBody applyImpulse:CGVectorMake(dx, dy)];
用你的计算结果替换dx
和。dy
您可能希望添加一个比例值以确保获得您正在寻找的结果。
于 2015-10-08T18:05:14.340 回答