Unity 2D 캐릭터 공격 구현

2025. 7. 17. 17:44·유니티 개발/사이드 뷰 게임

이번에는 캐릭터 공격을 어떻게 구현했는지 정리 해보겠습니다.

먼저 공격을 범위를 만듭니다. 

빈 오브젝트에 boxCollider 추가

 

그리고 공격 범위 오브젝트에 스크립트를 추가합니다.

using UnityEngine;

public class PlayerAttack : MonoBehaviour
{

    public float attackDemage =10.0f;


    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Monster"))
        {
            other.GetComponent<MonsterController>().Hit(attackDemage);
            print(other.name);
        }
    }
}

그리고 공격 받는 쪽에는 

    public void Hit(float Damages)
    {
        nowHp -= Damages;
    }

이렇게 추가 하면 일단은 기본적인 공격 기능을 추가 하였습니다 .

여기에서 저렇게 추가 하고 끝이 난다면 공격을 버튼을 누르지않고 계속 공격이 나가기 때문에

저는 애니메이션에

이벤트를 추가하였습니다. 그리고 이벤트로 추가한 코드에는 

    public void AttackBoxOn()
    {
        attackCollider.GetComponent<BoxCollider2D>().enabled = true;
    }

이렇게 BoxCollider2D를 키고 애니메이션 끝으로 가면  BoxCollider2D끄는 방식으로 하였습니다.

그리고 CTAL 버튼을 눌렀을때 공격 할수 있도록 만들었습니다.

//업데이트 쪽
     if (Input.GetKeyDown(KeyCode.LeftControl) && !attacking && 
            playerState != PlayerState.jump && !jumping)
        {
            playerState = PlayerState.attack;
        }
 //---

	private void Attack()
    {
        if (delayStart)
        {
            return;
        }
        //현재 플레이어의 방향을 찾고 그 방향에 boxCollder를 생성
        Vector2 offset = sr.flipX ? leftOffset : rightOffset;
        attackCollider.GetComponent<BoxCollider2D>().offset = offset;

		//현재 공격중이 아니라면 
        if (!attacking)
        {
            animator.SetTrigger("Attack1");
            attacking = true;
        }

    }

위에 있는 스크립트 적용

 

'유니티 개발 > 사이드 뷰 게임' 카테고리의 다른 글

Unity 2D hit,dead 구현  (0) 2025.07.18
Unity 2D 몬스터 기본 움직임 및 공격  (0) 2025.07.17
Unity 2D 애니메이션 - 애니메이션 구현  (0) 2025.07.17
Unity 2D 애니메이션 - 애니메이션 생성  (0) 2025.07.17
Unity 2D 애니메이션 - 스프라이트 시트 설정  (0) 2025.07.17
'유니티 개발/사이드 뷰 게임' 카테고리의 다른 글
  • Unity 2D hit,dead 구현
  • Unity 2D 몬스터 기본 움직임 및 공격
  • Unity 2D 애니메이션 - 애니메이션 구현
  • Unity 2D 애니메이션 - 애니메이션 생성
dove-dove
dove-dove
dove-dove 님의 블로그 입니다.
  • dove-dove
    dove-dove 님의 블로그
    dove-dove
  • 전체
    오늘
    어제
    • 분류 전체보기 (38)
      • 유니티 개발 (38)
        • 팀 포트폴리오 - 슈퍼 마리오 (7)
        • 사이드 뷰 게임 (22)
        • 계륵 (8)
        • 깃 주소 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
dove-dove
Unity 2D 캐릭터 공격 구현
상단으로

티스토리툴바