我很确定这是一个新手的错误,我正在查看,但我需要一些指示。这是我的代码:
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方向。
抱歉,如果这是一个非常愚蠢的问题,但我需要一些帮助。干杯