ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • P.P.P - 03 - UI
    연습 프로젝트/P.P.P

    안녕하세요!

    요즘 정말 정신이 없습니다.

     

    사실 프로그래머스 사이트의 코딩 테스트 연습 문제에 재미를 들려서

     

    아직은 Level 1 단계들을 풀어보고 있지만, 문제를 풀어 보며

     

    다른 분들의 푼 과정을 보고

     

    같은 동작을 하는 코드라도 

     

    보다 간결하게, 훨씬 빠르게 풀 수 있는 것을 보며 

     

    많이 학습을 하고 있습니다.

     

    Unity 프로젝트를 진행하면서 안쓰던 문법들과

     

    또한 다양한 방식들이 존재하니 지루할 틈이 없습니다.

     

    00 : 31초

    오늘은 영상 부터 준비했습니다.

     

    옆에 좀비는 플레이어를 쫓아오게 오며

     

    일반 공격을 맞을 시 뒤로 밀려나게 되며

     

    스킬을 맞게 되면 hp감소와 스킬에 따른 동작을 구현하려고 

     

    유니티 에셋 스토어에서 다운로드하여 가져왔습니다.


    이 Move와 Atk를 알려주는 Sprite 들은 혹시 몰라 레이 캐스트를 꺼둔 상태로

     

    플레이어와 다른 상호작용은 아직 없습니다.

     

    (키보드나 Space가 눌리면 Sprite의 색을 변경 시킬 예정이었는데,

     

    아직 구현 및 적용을 하지 못했습니다.)


    두 번째로 Close버튼과 Open버튼입니다.

     

    Sprite 때문에 맵이 안 보이게 되면 안 되니 Close버튼과 Open 버튼을 넣어 주었으며

     

    Close버튼의 Event Trigger의 Pointer Down을 이용하여 

     

    Close버튼을 클릭했을 시 전체  Panel을 비활성화를 해 주며

     

    사운드 재생을 해 주었습니다.

     


    Open 버튼에도 Event Trigger의 Pointer Down을 이용하여

     

    Open버튼을 클릭했을 시 전체 Panel을 활성화해주며 

     

    사운드가 재생되는 효과를 주었습니다.

     


    플레이어의 기본 공격은 PlayerMovement 스크립트에서 진행해 주었습니다.

     

    공격 중인지 체크할 불 변수 isAttack을 선언해 주었고

     

    애니메이터의 파라미터 Attack은 해시값을 미리 추출해 받아와 주었습니다.

    (애니메이터의 파라미터는 모두 해시 테이블로 관리하기에

    문자열로 호출할 때마다 내부의 해시 테이블을 검색하므로 속도 면에서 불리하다고 합니다.)

    (알게 된 지식이니 계속 써먹어야겠습니다.)

     

    일반 공격은 Update 함수에서 실행해 주었습니다.

     

    입력 키가 Space면 OnAttackStart() 함수를 실행해 주는 코드입니다.

     

    위의 방향 값을 전해주는 InputDir() 함수의 조건을! isAttack을 해준 이유는

     

    공격 중일 땐 움직이지 못하게 하기 위함입니다.

     

     

    OnAttackStart() 함수와

     

    OnAttackEned() 함수입니다.

     

    OnAttackStart() 함수에서는 애니메이터의 트랜지션 값의 조건을 성립하게 해 주어

    실행시켜주는 코드이며 isAttack = false로 다시 움직일 수 있게 해 주었습니다.

     


    애니메이션이 Read-Only 형식으로 되어있어

    (아직 수정하는 방법을 찾지 못했습니다)

     

    애니메이션 클립의 Enents에 접근하여 애니메이션이 끝날 때

     

    OnAttackEned 함수가 실행되게 해 주었습니다.

     


    현재 드는 생각은

     

    일반 공격을 레이를 쏴서 감지를 할지 콜라이더를 생성하여 감지를 할지 고민 중입니다.

     

    또한 동작 구현은 대미지는 아주 낮게 설정할 예정이며

     

    잠깐의 일시정지나 혹은 뒤로 밀려나는 효과를 줄 예정입니다.

     

     

    UI 항목 중 Panel에서는 오른쪽 부분에 Skill을 추가하여

     

    스킬에 따른 동작을 구현할 예정입니다.

     


    요즘 롤 우르프 모드를 가끔 5명이 모이면 2~3판씩 하는데 간만에 하니깐 재밌더라고요..

    (전전 시즌 까진 다이아 3이었습니다)

     

    블리츠크랭크를 한번 해봤는데 

     

    네, 재밌었습니다.

     

    그래서 플레이어의 첫 번째 스킬은 블리츠크랭크의 q 스킬처럼 

     

    체인 형태로 적을 플레이어 앞으로 끌고 오는 동작을 구현해볼 예정입니다.

     


     

    감사합니다.

     

    '연습 프로젝트 > P.P.P' 카테고리의 다른 글

    P.P.P - 02 - 포스트 프로세싱 설정  (0) 2022.05.28
    P.P.P - 01 - 이동구현  (0) 2022.05.24
    포톤 프로젝트 연습  (0) 2022.05.23

    댓글

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