Hyluss

[Unity] Physics2D.OverlapCircle

Dec 22nd, 2017
481
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.93 KB | None | 0 0
  1. funkcję CheckForHit, w której skorzystamy z funkcji Physics2D.OverlapCircle.
  2. Funkcja ta pozwala nam sprawdzić, czy w zadanym promieniu od konkretnego punktu znajduje się obiekt na danej warstwie. Jeżeli trafimy na taki obiekt, zadajemy wrogowi obrażenia i dodajemy siłę aby go nieco przesunąć w kierunku uderzenia
  3.  
  4. Dokumentacja: Physics2D.OverlapCircle
  5.  
  6.  
  7. using UnityEngine;
  8.  
  9. public class MeleeWeaponHandler : MonoBehaviour {
  10.  
  11.     [HideInInspector]
  12.     public float damage;
  13.     [HideInInspector]
  14.     public int direction;
  15.  
  16.     public void CheckForHit() {
  17.         var col = Physics2D.OverlapCircle(this.transform.position, 0.65f, 1 << LayerMask.NameToLayer("Enemy"));
  18.         if (col != null) {
  19.             col.gameObject.GetComponent<EnemyController>().DealDamage(this.damage);
  20.             col.gameObject.GetComponent<Rigidbody2D>().AddForce(Vector2.right * this.direction * 2.0f, ForceMode2D.Impulse);
  21.         }
  22.     }
  23. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment