我的代碼是:
private void OnCollisionEnter(Collision collision)
{
if(collision.gameObject.CompareTag ("bullet"))
{
UI.lives--;
}
if (collision.gameObject.tag == "life")
{
UI.livePart ;
}
}
我嘗試了兩種不同的方法來使它作業,但實際上都沒有正常作業。對于最上面的一個,當我的玩家物件第一次與帶有標簽“bullet”的游戲物件發生碰撞時,它應該將我的“生命”整數減 1。
對于第二個,當它第一次與帶有標簽“life”的游戲物件碰撞時,它應該將另一個整數“livePart”增加 1。
UI 是存盤變數“lives”和“livePart”的代碼。
uj5u.com熱心網友回復:
要檢查的一件事是檔案中提到
注意:僅當其中一個碰撞器還附加了非運動學剛體時才會發送碰撞事件。
如果您碰巧在 RigidBody 下的檢查器中選中了“Is Kinematic”,那么您將不會收到碰撞事件。
此外,以防萬一這是新資訊,將除錯器附加到您的腳本中,如此處所示,真的很有幫助。例如,您可以在OnCollisionEnter函式中設定一個斷點以驗證它是否被呼叫過。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/320786.html
上一篇:如何使字串像變數名一樣?[復制]
