簡體   English   中英

Unity-同時用於2個對撞機的OnTriggerStay2D()

[英]Unity - OnTriggerStay2D() for 2 colliders simultaneously

我正在使用一個OnTriggerStay2D()函數,該函數在對撞機內部的某個對象中執行某項操作(無關緊要)。 但是,有時我還有另一個,所以總共2個對撞機可能留在該對撞機內。 這兩個對撞機不在同一Game Object 我正在嘗試這樣:

void OnTriggerStay2D(Collider2D other)
{
    if (other.gameObject.CompareTag("Obj1"))
    {
        //do something
    } 
    if (other.gameObject.CompareTag("Obj2"))
    {
        //do something else
    }
}

但是做別的事情只是從未發生時Obj1已經內。 如何使OnTriggerStay2D()撞機一次感知兩個撞機?

編輯以澄清:

OnTriggerStay2D()仍被調用。 問題是代碼永遠不會到達我必須做其他注釋的if語句。

調用OnTriggerStay2D函數時,它不會報告正在觸摸的多個GameObject。 它僅返回一個觸發器/ Collider2D信息。 在下一個物理框架之后,將再次調用它。 這次它將返回其他觸摸相同GameObject的觸發器/ Collider2D信息。

在你的情況下,返回OBJ1后, OnTriggerStay2D將在下一幀物理學稱為左右與OBJ 2返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM