我应该如何做这个动画或者我该如何解决这个困境?

问题描述:

因此,我有一个立方体,我想制作一个游戏,立方体从一个立柱跳到另一个立方体,现在我在想要使立方体坠落的点,如果立方体停留在立方体上超过给定量的时间。我应该如何做这个动画或者我该如何解决这个困境?

我不想使用物理或刚体,我只使用transform.positionRaycast单击下一个pylon我希望立方体跳跃,我想使用动画,所以如果幼崽保持的不止一个如果在当前的塔上花费一定的时间,那么塔就会随着它的立方体而落下。

问题是我不知道该做什么,从哪里开始;关于统一动画我只知道如何做动画片段。

我会学习做其他事情,但我实际上没有ideea如何解决这个问题,我应该使用什么技术来获得期望的结果,以及如何?

+0

考虑到您的吊架需要掉下来,您可以在3秒内制作一个计数器,然后将吊架的'transfrom.position.y'更改为0.要实现'动画'效果,您可以使用Vector3 .Lerp'功能来移动塔。虽然我会不同地推荐使用'RigidBody',因为它会使一切变得更简单。 – Hristo

  1. 首先,您需要检测立方体是否在塔上。
  2. 如果是,那么你需要启动一个计时器。
  3. 如果计时器达到0,那么塔就会下降。

您可以使用OnCollisionEnter检测是否立方体已与相撞(登陆)的塔:

void OnCollisionEnter(Collision col) 
{ 
    // Check if it is the cube that has collided. 
    if (col.gameObject.name == "Player") // Make sure to assign the Player Tag to the cube 
    { 
     // Start countdown timer. 
    } 
} 

你可以使用coroutine开始倒计时。 您需要在课程顶部添加using System.Collections;

使用StartCoroutine(MyCoroutine());

IEnumerator MyCoroutine() 
{ 
    // Wait for 3 seconds. 
    yield return new WaitForSeconds(3f); 

    // Make the pylon fall now. 
} 

此代码将导致游戏做某件事之前等待3秒钟,打电话给你的协同程序。您如何使吊架落下取决于您,您可以使用RigidBody并将其从真到假设置为isKinematic作为示例,但由于您已经说过您不想使用物理,因此可以使用Transform.position将吊架向下翻译。

这应该让你开始。

+0

非常感谢! –