我正在通過取消對isKinematic的檢查來創建平臺下降的效果,但我一直得到錯誤。 "MissingReferenceException: 型別為'GameObject'的物件已被銷毀,但你仍在試圖訪問它。 以下是我的代碼:
// Update每幀被呼叫一次。
void Update()
{
}
private void OnCollisionExit(Collision碰撞){
if(collision.gameObject.tag == "Player"/span>)
{
Fall()。
Invoke("Fall", 0.2f); /delay 0.2 s chu y dau va viet thuong。
}
}
void Fall(){
GetComponent<Rigidbody>().isKinematic = false;
Destroy(gameObject,1f)。
誰能知道如何解決這個問題?謝謝你。
uj5u.com熱心網友回復:
你目前的代碼流程如下:
- 呼叫
- 呼叫了一次Fall()(在呼叫1秒后,游戲物件將被銷毀)。
- 你正在使用Invoke在0.2秒后呼叫Fall(),而你已經有一個任務在第一次呼叫后銷毀gameObject。
Update:我認為你想要立即設定運動性錯誤。我更新了這段代碼:)
代碼
using UnityEngine;
public class Q69205071 : MonoBehaviour
{
private void OnCollisionExit(Collision collision)。
{
if (collision.gameObject.tag == "Player"/span>)
{
//Fall(1f);
//因為你希望一切都在0.2秒后執行。
//你可以使用Invoke或coroutines。
Invoke("Fall", 0.2f) 。
}
}
private void Fall()
{
GetComponent<Rigidbody>().isKinematic = false;
Destroy(gameObject, 1f); //1 seconds delay before destroy the gameObject。
}
}
編碼愉快 :)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/312436.html
標籤:
上一篇:bashfor-loop如何知道一個變數是一個檔案?
下一篇:js執行后在html中顯示字串
