2015-10-07 15 views
0

如果我在屏幕上有一个SKSpriteNode,我将如何轻弹它,以便模拟足球的踢球物理过程。 how to throw SKSpriteNode?我猜测,它会有点像这个问题,但不应该发生,而不是在它被轻弹之前首先跟随你的手指的节点。它应该看起来像当你轻弹时朝着节点滑动,然后一旦你的手指碰到节点,它就像足球的物理学一样移动它。任何人都可以给我一个地方,以实现这一目标?如何轻弹一个SKSpriteNode,就像一个足球

+0

http://www.techotopia.com/index.php/An_iOS_7_Sprite_Kit_Collision_Handling_Tutorial – Adrian

+0

@AdrianB是否显示如何弹出SKSpriteNode?我没有看到它... – PoKoBros

+0

我的歉意。这听起来像是你从零开始,正在寻找一个开始的地方。我发现techtopia教程非常有帮助。这里讨论与SKSpriteNodes相关的手势识别器。 http://www.raywenderlich.com/44270/sprite-kit-tutorial-how-to-drag-and-drop-sprites – Adrian

回答

1

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

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

更换dxdy与你的计算结果,您可能希望增加一个刻度值,以确保你得到的结果你正在寻找。

相关问题