유니티 엔진 - 게임 프로젝트/C# + 유니티로 만드는 MMORPG 게임 개발 (4) - MMO 컨텐츠

2D MMO - (1 - 9) 기본 공격

monstro 2025. 6. 9. 10:58
728x90
반응형

이번 포스트에서는 기본 공격을 구현해보겠습니다.

기본 공격 역시 기존의 방식과 마찬가지로 State를 통해 이뤄집니다.

 

1) CreatureController 스크립트

 

GetFrontCellPos 함수를 추가하여 마지막으로 바라본 방향의 바로 앞 좌표를 가져오도록 합니다.

 

 

UpdateAnimation 함수에서 스킬을 사용하는 State에 대해 애니메이션을 연출하도록 코드를 추가합니다.

 

 

CreatureController를 갱신하는 UpdateController 함수에서도

State에 따라 함수를 수행하도록 코드 구조를 변경합니다.

기존의 UpdatePosition 함수UpdateMoving 함수로 변경하고

UpdateIsMoving 함수UpdateIdle 함수로 변경합니다.

그리고 각 함수에서 사용하는 조건문을 수정합니다.

 

2) PlayerController 스크립트

 

스킬을 사용한 이후 다시 Idle 상태로 복귀하기 위한 코루틴 프로퍼티를 추가합니다.

 

 

부모 버전의 UpdateController 함수와 마찬가지로 State에 따라 PlayerController를 갱신합니다.

이번에 추가하는 스킬은 Idle 상태에서만 수행할 수 있습니다.

 

 

GetIdleInput 함수에서는 스페이스바를 입력하면 Skill 상태로 전환하고 코루틴을 호출합니다.

 

 

CoStartPunch 함수에서는 마지막으로 바라본 방향적이 있다면 적의 이름을 출력하고

0.5초 후에 Skill 상태에서 Idle 상태로 전환합니다.

 

최종 실행 결과는 다음과 같습니다.

 

728x90
반응형