unity多碰撞器對象觸發單物體發生多次觸發現象的問題解決


  產生這種原因是這個對象上有多個碰撞器,可能會多個碰撞器同時觸發,以至於觸發函數運行多次,解決這個問題,我們可以將觸發函的運行內容設置為給一個布爾類型賦值,這樣不論返回幾次,返回ture便能進行之后的運算,最后再置為false:

  例如:

 修改前:

private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Collection1")
{
Destroy(collision.gameObject);
Cherry += 1;

CherryNum.text = Cherry.ToString();
}

 修改后:

 bool istouch = false

private void OnTriggerEnter2D(Collider2D collision)
{
  istouch = true
}

if(istouch = true)

  Destroy(collision.gameObject);
  Cherry += 1;

  CherryNum.text = Cherry.ToString();

  istouch= false


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM