4

我想用另一个物体捕捉一个物体。然后将它带到第一个对象的起点,在 2D 中。我以恒定的速度将一个物体扔到另一个物体上。第一个与第二个碰撞,然后我定义了第一个与站立的第二个物体的反向速度。当发生碰撞时(onCollisonListener)它不会自然返回,因此返回的角度是错误的。

他们到处乱跑。我怎样才能使它正常返回功能?我可以使用哪个功能?我只使用velocity.x 和velocity.y 感谢您阅读我的问题和您的帮助,真诚的您。

4

1 回答 1

0

伪代码:

public class Catcher : MonoBehaviour
{
    Vector2 startingPoint;

    void Awake()
    {
        startingPoint = transform.position;
    }

    void Update()
    {
        //Your moving code
    }

    void OnTriggerEnter(Collider other)
    {
         if(other.tag == "someTag")
         {
             other.transform.parent = transform;
             StartCoroutine("MoveBack");
         }
    }

    private IEnumerator MoveBack()
    {
        while(transform.position != startingPoint)
        {
            // Move this towards starting point
            // Use Vector2 functions like Lerp, MoveTowards or SmoothDamp
            // Could also use Mathf functions
            yield null;
        }
    }
}

并且可能添加一个标志/检查以了解对象是向后还是向前移动。

于 2015-05-12T09:22:51.223 回答