ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 02 깃허브 - Player Combo Attack
    팀업 프로젝트/-Git Hub (임시)

    안녕하세요!

     

    00 : 44

    영상을 먼저 첨부하겠습니다.

     

     

    지난 시간에 동작 구현을 완료한 조이스틱 패드의 이미지를 변경하고

     

    기본 공격 버튼을 만들어 

     

    콤보 공격의 애니메이션 적용을 완료하였습니다.

     

    +

    발걸음 && (5) 공격 모션 사운드 효과를 주었습니다.

     

    그럼! 바로 코드로 넘어가 보겠습니다!!!


    첫 번째로 작업한 것이

     

    왼쪽 조이스틱의 패드의 Source Image 변경과

     

    오른쪽의 기본 공격 버튼을 만들어 주었습니다.

    (스킬 추가 버튼들을 만들 예정입니다.)

    Atk 버튼의 OnClick 이벤트로 호출되기 위하여

     

    PlayerAttackButton (OnClickEvent를 담당할 스크립트)를 만들어 주었습니다.

     

    플레이어로 접근하여 새로 생성한 PlayerAttack 스크립트의 BasicAttack 함수를 실행시켜 주는 코드입니다.


    Player의 접근한 방법은 싱글톤 패턴인 Manager 스크립트로 접근을 용이하게 해 주었습니다.


    PlayerAttack의

    이어서 PlayerAttack 스크립트를 보겠습니다.

    선언된 변수들을 보겠습니다.

    comboStep : 현재 콤보 스탭 단계를 알려줍니다.

     

    comboPossible : 콤보 입력이 사용 가능할 때를 알려줍니다.

     

    isAudio : 오디오가 사용 중인지 체크할 불 변수입니다.

     

    (현재 테스트 중인 게 있습니다. 오디오가 중복되는 현상인데 

    사용은 안 하고 주석 처리해 두었습니다)

     

    ani : Animator 컴포넌트를 받아올 변수입니다.

     

    애니메이터 컨트롤에 정의한 파라미터들은 모두 해시 테이블로 관리한다고 해서

    파라미터 해시값을 미리 추출해 인자로 전달해 주었습니다.

     

    각 기본 공격 1단계 ~ 5단계 까지입니다.

    첫 번째 함수로는 comboPossible을 true로 만들어 주어

     

    콤보 입력이 가능하게 만들어 주었습니다.

     

    이 함수들은 애니메이터의 이벤트로 원하는 시기에 호출을 해줄 것입니다.

     

    두 번째 콤보 어택입니다.

    각 comboStep에 따라 애니메이션을 실행해 주는 코드입니다.

    (현재 플레이어의 애니메이터와 파라미터 값들입니다)

    콤보가 리셋되는 기능입니다.

    즉 콤보 입력 가능 시간에 콤보를 입력하지 않는다면

    리셋이 되어서 현재 공격 모션만 진행 후 대기상태 || 무브 상태로 돌아갑니다.

     

    Attack 함수입니다.

    콤보 스탭이 0이면 초기 기본 공격 1을 실행해 주며

    콤보 스탭을 1로 변경해 줍니다.

     

    콤보 스탭이 0이 아니라면

    우선 콤보 입력 가능 여부를 펄스로 변경해 주어

    중복 입력을 방지해 주었고, 콤보 스탭을 1만큼 올려 주는 동작입니다.

    각 애니메이션의 시간 조정을 통해 이벤트로 호출을 해 주었습니다.

     

    1.ComboPossible (콤보 입력 가능 여부)

    2.ComboAttack(콤보 스탭에 따른 공격 애니메이션)

    3.ResetAttack(리셋 기능)

    (나머지 하나는 공격 모션 시간에 맞춰서 사운드 재생 함수를 호출하는 이벤트입니다.)

    각 애니메이션의 사운드 재생 함수입니다.

     

    싱글톤 패턴인 Manager에 접근하여 ManagerSe에 있는 audioSource의 PlayerOnShot으로

     

    각 클립에 맞게 재생해 주는 모습입니다.

    (PlayerOnShot = 중복 가능)

     


    마지막으로 ManagerSE 스크립트입니다.

     

    자기 자신에게 붙어있는 AudioSource를 받아오고

     

    각 클립을 지정해 주었습니다.

     


    사운드를 넣으니깐 뭔가 몰입감이 더해 지면서 상당히 재밌습니다 ㅎㅎ

    (초기 기획안인 UI적 부분 부터 집중적으로 작업을 해 봐야 겠습니다.)

     

    빠르진 않지만 꼼꼼히 작업을 해가며

     

    더 나은 영상으로 찾아 뵙겠습니다.

     

    감사합니다.

    (영상은 맨 위에 있습니다.)

    댓글

김효겸 / Tel. 010-7735-0580 / E-mail. dollzzang2@hanmail.net