我有一个sprite kit物理体,我希望通过将其移动到用户触摸touchesBegan和touchesMoved的位置进行触摸来控制。我已经尝试过SKAction移动,让我们看到它不适合我的目的。我已经尝试过applyImpulse并且它适合我的目的,但是每次超调导致速度导致它每次都通过该位置,并且如果我创建新位置,则物体来回飞来飞去。我希望它能够快速跟踪当前的触摸,而不是慢慢地朝用户的手指爬行。当用户触摸时,是否有一种简单的方法可以让对象跟随触摸,当用户放手时,可以通过psrite kit物理引擎很好地停止移动?我想让物体从其上弹回其他物体,但不会反弹。
答案 0 :(得分:1)
添加一些内容:
一个布尔标志,用于设置Sprite是否已分配新位置
存储新所需位置的CGPoint
检查精灵位置是否足够接近CGPoint的方法
发出触摸时,存储该点并将布尔值设置为YES,然后在精灵上启动力。
如果你做的布尔是YES,那么在update方法中调用那个被调用的checker方法。
如果该检查返回true,则将速度设置为零(或以其他方式停止精灵,如何看待),并将布尔值设置为NO,以便检查方法停止触发。