将GameObject移动到新位置加班

时间:2017-09-26 08:44:00

标签: c# unity3d onmousedown lerp

我很确定这是一个新手的错误,我正在查看,但我需要一些指示。这是我的代码:

void OnMouseDown()
{
    if(clickedContainers.Contains(transform.parent.name)) //if the containerblock is in "up" state
    {
        //transform.parent.transform.Translate(Vector3.down * 10 * Time.deltaTime);
        newPos = transform.parent.position;
        newPos.y -= 200;
        clickedContainers.Remove(transform.parent.name);
        Application.ExternalCall("Test", "Hello from Unity!" + transform.parent.name);
    }
    else //if the container block is in "down" state = default
    {
        newPos = transform.parent.position;
        newPos.y += 200;
        //transform.parent.position = Vector3.Lerp(transform.position, newPos, Time.deltaTime);
        clickedContainers.Add(transform.parent.name);
    }

    transform.parent.position = Vector3.Lerp(transform.position, newPos, Time.deltaTime);


}

几个问题,当在if语句中使用注释代码时,一切正常;我单击一个对象,它会移动所有子对象的父对象。现在我想要平滑这个动作,而不是像它的传送一样。所以我试着用Lerp来做这件事,但我在这里错过了一些东西。现在,看起来父母是#34;传送" (所以这里没有lerp)并且它是向所有方向传送的,所以不仅在Y方向。

抱歉,如果这是一个非常愚蠢的问题,但我需要一些帮助。干杯

0 个答案:

没有答案