close

OnCollision 碰撞事件

  • 發生條件:
    • 當兩個非觸發區(Is Trigger未勾選)的物件碰撞,且一方帶有Rigidbody(剛體),就會發生Collision事件。
  • 事件類型:
    • OnCollisionEnter2D 碰撞事件
      • 當兩個2D碰撞器碰撞時會發生的事件
    • OnCollisionExit2D – 分開事件
      • 當兩個2D碰撞器碰撞後,分開時所發生的事件
    • OnCollisionStay2D – 停滯事件
      • 當兩個2D碰撞器碰撞後,未分開時會持續發生的事件,也可以想做是接觸著碰撞器

OnCollision事件都可以帶有一個參數,這個參數是碰撞到的對象的Collision2D(碰撞資訊)

void OnCollisionEnter2D(Collision2D Coll) { }

 

OnTrigger 觸發事件

  • 發生條件:
    • 當觸發區(Is Trigger)碰觸到其他碰撞體(或觸發區)時,且一方帶有剛體時,就會觸發Trigger事件
  • 事件類型:
    • OnTriggerEnter2D – 觸發事件
      • 當一個觸發區與一個碰撞體(或觸發區)觸碰時會發生
    • OnTriggerExit2D – 分開事件
      • 當一個觸發區與一個碰撞體(或觸發區)觸碰後離開時會發生
    • OnTriggerStay2D – 停滯事件
      • 當一個觸發區與一個碰撞體(或觸發區)觸碰後,未離開觸發區時會持續發生

 

Trigger可以帶有Collider2D參數,用來抓取碰撞對象的碰撞體,由於碰撞區不會產生碰撞,故不像OnCollision事件是使用Collision2D(碰撞資訊)

void OnTriggerEnter2D(Collider2D Coll) { }

 

 

 

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 gundamhina 的頭像
    gundamhina

    gundamhina的部落格

    gundamhina 發表在 痞客邦 留言(0) 人氣()