본문 바로가기

유니티2D

유니티 - 콤보어택을 만들어 보자 (feat. Timer)

안녕하세요. 곰돌입니다.

 

오늘은 타이머를 응용해서 간단한 콤보 시스템을 만들었습니다.

 

타이머는 코루틴과 반복문을 사용해서 아래처럼 아주 간단하게 만들 수 있습니다.

 

코드를 간단하게 설명하면

 

게임이 시작하면 타이머 코루틴을 실행하고 현재 시간은 0 최대 시간을 10으로 설정한 뒤 

 

반복문을 스페이스바가 눌리기 전 그리고 현재 시간이 최대 시간보다 낮은 경우 계속해서 돌립니다.

 

이때 매 프레임 현재 시간에 deltaTime 값을 더해줍니다.

 

그리고 스페이스바가 눌리거나 현재 시간이 최대시간보다 크거나 같아지면 

 

반복문을 나와서 현재의 시간을 로그로 찍어주는 간단한 타이머입니다.

 

이 방식을 응용해서 타이밍 바를 이용한 연속 공격을 간단하게 만들어 봤습니다.

 

슬라이더의 value를 서서히 증가시키며 미리 정한 범위에서 멈추었을 때 

 

공격이 발생하며 계속해서 정확한 타이밍을 맞추면 더 높은 수준의 공격이 나가는 형식입니다.

 

기본적인 플레이어의 설정과 애니메이션, 애니메이터를 만들어 놓은 패키지는 아래에서 받을 수 있습니다.

 

ComboAtk.unitypackage
0.24MB
위 기다란 막대가 타이밍 바

 

붉은색 동그라미가 초록색 범위 안에 멈추면 연속 공격 ON!

 

초록색의 범위는 Rect Transform의 포지션과 width를 통해서 알 수 있습니다.

 

공격은 Atk라는 트리거 파라미터를 호출해서 애니메이션을 전환하고 

 

블렌드 트리를 통해서 어떤 공격이 나갈지 선택합니다.

 

자세한 설명은 영상을 보고 천천히 따라 하시면 됩니다!

 

그럼 모두 즐거운 주말 보내시고 항상 즐거운 개발하세요!