2017-04-02 56 views
0

因此,我有一個立方體,我想製作一個遊戲,立方體從一個立柱跳到另一個立方體,現在我在想要使立方體墜落的點,如果立方體停留在立方體上超過給定量的時間。我應該如何做這個動畫或者我該如何解決這個困境?

我不想使用物理或剛體,我只使用transform.positionRaycast單擊下一個pylon我希望立方體跳躍,我想使用動畫,所以如果幼崽保持的不止一個如果在當前的塔上花費一定的時間,那麼塔就會隨着它的立方體而落下。

問題是我不知道該做什麼,從哪裏開始;關於統一動畫我只知道如何做動畫片段。

我會學習做其他事情,但我實際上沒有ideea如何解決這個問題,我應該使用什麼技術來獲得期望的結果,以及如何?

+0

考慮到您的吊架需要掉下來,您可以在3秒內製作一個計數器,然後將吊架的'transfrom.position.y'更改爲0.要實現'動畫'效果,您可以使用Vector3 .Lerp'功能來移動塔。雖然我會不同地推薦使用'RigidBody',因爲它會使一切變得更簡單。 – Hristo

回答

0
  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

非常感謝! –