2017-10-19 46 views
-2

我想讓汽車停止移動,當其健康狀況達到零。在將它作爲在線解決方案找到之後,我嘗試過使用此方法,但它似乎仍然無法正常工作。我也無法銷燬gameObject,因爲其他腳本依賴於它。讓角色凍結,當他們的健康達到零

public float health = 10; 

void OnCollisionEnter2D(Collision2D col) 
{ 
    if (col.gameObject.tag == "car") 
    { 
     Debug.Log ("Health: " + health); 
     health--; 

    } 
    if (health <= 0) { 

     gameObject.rigidbody.velocity = Vector3.zero; 

    } 
} 

}

+0

「我嘗試過使用這種方法後,發現它作爲一種解決方案在線,但它似乎仍然工作」:什麼不工作?提供更多細節,因爲它不起作用很難破譯 – Sorceri

+0

上面的例子是我嘗試使用的例子。與gameObject.rigidbody.velocity = Vector3.zero;它給我一個錯誤,說明unity engine組件不包含「velocity」的定義。我不知道還有什麼可以使用的。 –

+0

您應該創建死/凍狀態,以便在OnCollision中將您的汽車狀態凍結。 然後在你的更新中,如果汽車被凍結, – Chopi

回答

-1

我想通了,我沒有張貼足夠的信息。我所要做的只是將健康代碼放入我的播放器控制器代碼中,並在整個播放器控制器周圍放置if語句,以確定健康是否大於零。如果有人有更有效的解決方案,請告訴我。