在Swift Sprite Kit中拖动并启动类型的东西?

时间:2015-08-09 16:08:50

标签: ios swift sprite-kit

如果我有一个精灵节点,在屏幕的某个地方只有一个白色的圆圈,我怎么能这样做,当我拖动时,让我们向下并略微向左说,圆形精灵将向上发射向右,然后逐渐下来,就像高尔夫球一样。

另一种解释机制的方法是愤怒的小鸟游戏,在那里你发射弹弓的鸟类,鸟类在你的阻力的相反方向移动并逐渐下降。

有关圆圈力学的另一个实例,请查看应用程序Desert Golfing。

谢谢,如果你不知道我的意思只是评论,我会尝试更好地解释它。

可选:如果您确实知道如何为圆圈执行弹弓式机制,您是否也知道如何在屏幕上添加箭头以便用户知道圆圈将以何种方式启动?

1 个答案:

答案 0 :(得分:0)

我会尝试将您的问题分解为可以自行解决的小步骤:

  1. 检测滑动:
    使用UIPanGestureRecognizer。只要用户在某个方向上拖动手指,您就可以实现一种方法 这里有一些很好的参考:
    - Pan Gesture Official Documentation
    - A very useful question that can serve you as a guide

  2. 检测滑动的大小以传递冲动
    查看上面的第二个链接。您需要做的是在手势识别器的方法中,您将检测某些标志,例如当用户启动平移或结束平移时。然后,您可以检查那些时刻的位置。根据毕达哥拉斯定理,你应该能够得到距离并将其作为幅度。

  3. 申请冲动:
    为你的精灵创建一个物理体,然后确保你的物理世界中有重力设置。这允许精灵以抛物线运动方式移动。然后,在您的物理机构上使用applyImpulse:和你的大小。

  4. 关于箭头,您可以轻松地从平移手势处理程序中执行一些委托,获取滑动的大小并投射箭头随后显示的反射。你的问题非常严重,所以进入更多细节是不可能的,但祝你好运。希望这有帮助!