C# 单位变换速度

C# 单位变换速度,c#,unity3d,C#,Unity3d,我想让“墙”游戏对象以特定的速度移动,而不是瞬间移动,最好的方法是什么?有很多方法可以实现你想要的,其中一种是使用方法 当碰撞器被触发时,OnTriggerEnter将只被调用一次。您可以做的是在OnTiggerEnter上设置布尔值“true”,然后在该布尔值为“true”时更新更新中的位置。完成更新后,设置为false 有2-3种其他方法可以做到这一点,你也可以使用doTween来做到这一点,但根据你的问题,我认为你是初学者,所以根据我的说法,上述方法将很容易实现 void OnTrigge

我想让“墙”游戏对象以特定的速度移动,而不是瞬间移动,最好的方法是什么?

有很多方法可以实现你想要的,其中一种是使用方法


当碰撞器被触发时,OnTriggerEnter将只被调用一次。您可以做的是在OnTiggerEnter上设置布尔值“true”,然后在该布尔值为“true”时更新更新中的位置。完成更新后,设置为false

有2-3种其他方法可以做到这一点,你也可以使用doTween来做到这一点,但根据你的问题,我认为你是初学者,所以根据我的说法,上述方法将很容易实现

void OnTriggerEnter(Collider col)
{
    wall.transform.position += new Vector3(0, 5 , 0);
}
void Update()
{
   float speed = 2;
   // Move the object upward in world space 1 unit/second * speed.
   wall.transform.Translate(Vector3.up * speed * Time.deltaTime, Space.World);
}