将Sprite Kit物理实体移动到用户触摸的位置而不经过

时间:2014-03-30 00:18:47

标签: ios sprite-kit physics

我有一个sprite kit物理体,我希望通过将其移动到用户触摸touchesBegan和touchesMoved的位置进行触摸来控制。我已经尝试过SKAction移动,让我们看到它不适合我的目的。我已经尝试过applyImpulse并且它适合我的目的,但是每次超调导致速度导致它每次都通过该位置,并且如果我创建新位置,则物体来回飞来飞去。我希望它能够快速跟踪当前的触摸,而不是慢慢地朝用户的手指爬行。当用户触摸时,是否有一种简单的方法可以让对象跟随触摸,当用户放手时,可以通过psrite kit物理引擎很好地停止移动?我想让物体从其上弹回其他物体,但不会反弹。

1 个答案:

答案 0 :(得分:1)

添加一些内容:

  1. 一个布尔标志,用于设置Sprite是否已分配新位置

  2. 存储新所需位置的CGPoint

  3. 检查精灵位置是否足够接近CGPoint的方法

  4. 发出触摸时,存储该点并将布尔值设置为YES,然后在精灵上启动力。

    如果你做的布尔是YES,那么在update方法中调用那个被调用的checker方法。

    如果该检查返回true,则将速度设置为零(或以其他方式停止精灵,如何看待),并将布尔值设置为NO,以便检查方法停止触发。