OnTriggerEnter
How do I use On Trigger Enter
Below are practical examples compiled from projects for learning and reference purposes
Featured Snippets
File name: SideWalls.cs
Copy
7 void OnTriggerEnter2D(Collider2D hitInfo) {
8 if (hitInfo.name == "Ball")
9 {
10 string wallName = transform.name;
11 GameManager.Score (wallName);
12 hitInfo.gameObject.SendMessage ("RestartGame", 1, SendMessageOptions.RequireReceiver);
13 }
14 }
File name: OnCollideSwitchTeam.cs
Copy
9 public void OnTriggerEnter(Collider other)
10 {
11 // it's ridiculously easy to switch teams. you only have to make sure you do it for your own characters
12 // (this trigger is called on all clients, when a user's character enters the trigger...)
13
14 // find a PhotonView and check if the character "isMine". Only then, set this client's player-team.
15 PhotonView otherPv = other.GetComponent
16 if (otherPv != null && otherPv.isMine)
17 {
18 PhotonNetwork.player.SetTeam(this.TeamToSwitchTo);
19 }
20 }
File name: PickupTriggerForward.cs
Copy
14 public void OnTriggerEnter(Collider other)
15 {
16 PickupItem parentPickupItem = this.transform.parent.GetComponent
17 if (parentPickupItem != null)
18 {
19 parentPickupItem.OnTriggerEnter(other);
20 }
21
22 // by enabling this log, you can see that more triggers are forwarded than necessary.
23 // collisions with any collider will trigger, which is not perfect but OK in the demo.
24 //Debug.Log("Triggered. Called parent: " + ((parentPickupItem != null)));
25 }
File name: PickupItem.cs
Copy
59 public void OnTriggerEnter(Collider other)
60 {
61 // we only call Pickup() if "our" character collides with this PickupItem.
62 // note: if you "position" remote characters by setting their translation, triggers won't be hit.
63
64 PhotonView otherpv = other.GetComponent
65 if (this.PickupOnTrigger && otherpv != null && otherpv.isMine)
66 {
67 //Debug.Log("OnTriggerEnter() calls Pickup().");
68 this.Pickup();
69 }
70 }
File name: PickupItemSimple.cs
Copy
14 public void OnTriggerEnter(Collider other)
15 {
16 // we only call Pickup() if "our" character collides with this PickupItem.
17 // note: if you "position" remote characters by setting their translation, triggers won't be hit.
18
19 PhotonView otherpv = other.GetComponent
20 if (this.PickupOnCollide && otherpv != null && otherpv.isMine)
21 {
22 //Debug.Log("OnTriggerEnter() calls Pickup().");
23 this.Pickup();
24 }
25 }
File name: GroundDestroyer.cs
Copy
12 void OnTriggerEnter2D(Collider2D target){
13 if(target.tag == "Grounded") {
14
15 target.gameObject.SetActive (false);
16 }
17 }
File name: PlayerMoveScript.cs
Copy
111 void OnTriggerEnter2D(Collider2D coin) {
112 if(coin.tag == "Coin") {
113 audioSource.PlayOneShot (coinClip);
114 coinScore++;
115 FindObjectOfType
116 coin.gameObject.SetActive (false);
117 }
118 }
File name: BossBullet.cs
Copy
17 void OnTriggerEnter2D(Collider2D collider){
18 if(collider.CompareTag("Player")){
19 collider.transform.GetComponent
20 }
21 }
File name: GameBoundary.cs
Copy
17 void OnTriggerEnter2D(Collider2D collider){
18 if(collider.CompareTag("Player Bullet") || collider.CompareTag("Enemy") || collider.CompareTag("Coin") || collider.CompareTag("Boss Bullet")){
19 Destroy (collider.gameObject);
20 }
21
22 }
File name: EnemyController.cs
Copy
29 void OnTriggerEnter2D(Collider2D collider){
30 if(collider.CompareTag("Player")){
31 collider.transform.GetComponent
32 }
33 }
OnTriggerEnter 231 lượt xem
Gõ tìm kiếm nhanh...