如何使用Vector2.MoveTowards()在unity2d中移动父移动内的子对象?

时间:2018-02-06 16:18:24

标签: c# unity3d nested position

Parent对象是一个移动的矩形,在矩形内部还有另一个矩形。父母连续向右移动,子矩形向上和向下移动。 enter image description here

(我将孩子嵌入父母中)

现在:

我需要孩子在父母内部移动,并且不要使用Vector2.MoveTowards()跨越其父母的边界?

更新#1:MoveToPoint脚本

public float speed = .5f;
public Vector2 moveToPoint;

void Update()
{
    //moveToPoint = transform.InverseTransformPoint (moveToPoint);
    transform.localPosition = Vector2.MoveTowards(new Vector2(transform.localPosition.x, transform.localPosition.y), 
    new Vector2(transform.parent.transform.position.x + moveToPoint.x, transform.parent.transform.position.y + moveToPoint.y), speed * Time.deltaTime);
}

该脚本只是将附加到的游戏对象移动到指定的位置。但问题是当游戏对象是移动对象的孩子时,脚本会在移动之前将其移动到原始点!

换句话说,我需要让孩子处于当地的位置......

0 个答案:

没有答案