Closed leeyunjeong010422 closed 1 month ago
아!!!! 이렇게 했더니 플레이어가 점프할 때 레이캐스트에 안 잡혀서 플레이어가 근처에 왔는지 인식을 못하는 경우가 발생,... 다른 방법으로 구현해야 할 거 같음
private void BombOverlapBox()
{
int playerLayerMask = LayerMask.GetMask("Player");
//RaycastHit2D hit = Physics2D.Raycast(transform.position, Vector2.left, 70f, playerLayerMask);
//Debug.DrawRay(transform.position, Vector2.left * 70f, Color.red);
Collider2D hit = Physics2D.OverlapBox(transform.position, findSize, 0, playerLayerMask);
if (hit != null && hit.CompareTag("Player"))
{
PlayerController playerController = hit.GetComponent<PlayerController>();
if (playerController != null)
{
animator.Play("Bomb");
StartCoroutine(DeactivateBomb(3));
}
}
}
private IEnumerator DeactivateBomb(float delay)
{
yield return new WaitForSeconds(delay);
Destroy(gameObject);
}
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.red;
Gizmos.DrawWireCube(transform.position, findSize);
}
폭탄에서 플레이어 방향으로 래이캐스트를 쏘고 레이캐스트가 플레이어에 닿으면 n초 후에 폭발함 폭발할 때 플레이어와 닿으면 플레이어 체력 -1