멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon Chapter 13 회고 Part 2

2022. 7. 26. 22:12해커톤, 개인 프로젝트/Nexon MOD 해커톤

반응형

멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon Chapter 4주차 26일 회고

 

 

 

부족하지만 멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon에 합격하게되어서 MOD를 먼저 사용해볼 수 있는 감사한 기회를 얻게 되었습니다...! 최선을 다해 공부하고, 리뷰하겠습니다! 부족한 글 보러 와주셔서 감사드립니다!

// 해당 글은 멋쟁이 사자처럼 공동 학습 교안을 바탕을 작성되었습니다.

재밌더라구요 ㅋㅋㅋ

 

 

 

 

이번 글에서는 저번 글에서 올렸던 게임 플레이 영상의 코드와 프로세스에 대해서 이야기해보겠다.

 

저번 글 주소

https://devdongbaek.tistory.com/153

 

멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon Chapter 13 회고

멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon Chapter 4주차 26일 회고 부족하지만 멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon에 합격하게되어서 MOD를 먼저 사용해볼 수 있는 감사한 기회를 얻게 되었습..

devdongbaek.tistory.com

 

 

 

 

먼저 게임은 몬스터를 피해서 도착지까지 가는 게임이다.  유저는 공중을 날아다닐 수 있으며, 몬스터와 닿게 되면 유저의 HP가 감소하며, HP가 0이되면 유저는 몇 초간 움직일 수 없는 사망 상태가 된다. 시간이 지나면 다시 움직이며 플레이할 수 있다.

 

 

 

 

 

 

 

모두!! 위의 게임 규칙들을 하나 하나 뜯어보며, 어떤 코드를 적용시켰는지 알아볼까요??

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. 유저는 공중을 날아다닐 수 있다. 이를 구현해보자!

 

 

 

위는 구현하는데 필요한 코드이다.

 

대략적으로 코드가 어떻게 동작하는지 알아보자

 

1. HandleKeyDownEvent를 통해서 유저가 키를 입력했을 때, 즉 LeftAlt(점프)키를 눌렀을 때 이벤트가 발생하게했다.

 

2. 모드를 Property로 설정해주고, Mode가 "Avoid_Obstacle"일 때만 해당 이벤트가 동작하도록 했다.

 

3. 그리고 CameraComponent.Damping을 통해서 유저의 이동을 카메라가 빠르게 따라오게 하였다.

 

4. rigidbody:SetForce(vector2(x방향, y방향))을 통해서 중력을 조절하여서, 밑으로 떨어지지않고 공중에 떠있게 할 수 있다.

 

 

 

 

 

2. 몬스터와 닿게 되면 유저의 HP가 감소하며, HP가 0이되면 유저는 몇 초간 움직일 수 없는 사망 상태를 구현한 코드를 아래 사진으로 알아보자

 

1. Damage를 각 엔티티마다 다르게 적용할 수 있게끔 Propery로 설정했다.

 

2. PlayDead()와 PlayerAlive() 함수를 만들어주고, 각 상태에 맞는 코드들을 작성해주었다.

 

 

 

 

 

 

 

 

1. 만약 충돌이 감지된 엔티티의 Id가 플레이어의 Id와 같다면, 즉 유저가 몬스터와 부딪혔다면 동작한다.

 

2. 만약 Take_Damage_Period, 유저가 공격을 받을 수 있는 상태(기간)이고, 유저에 체력이 0보다 작으면 아래 문장들이 동작한다.

  1. Take_Damage_Period를 거짓으로 두어서 더이상 공격을 받지 않게 한다.
  2. 유저의 상태를 "사망 상태"로 변경한다.
  3. 위에서 작성한 PlayDead()를 호출한다.
  4. 5초간 유저의 사망 상태를 지속시킨다.
  5. 4초가 지난후 유저의 상태를 변경해주고,
  6. 유저의 체력과 위치를 초기화 시켜주고, Take_Damage_Period를 참으로 줌으로써 다시 공격을 받을 수 있게 한다.

 

3. 만약 Take_Damage_Period, 유저가 공격을 받을 수 있는 상태(기간)이고, 유저에 체력이 0보다 많으면 아래 문장들이 동작한다. 

  1. Take_Damage_Period를 거짓으로 두어서 더이상 공격을 받지 않게 한다.
  2. 입은 데미지 만큼 체력에서 제한다.
  3. 유저를 뒤로 밀려나게 만든다.
  4. 0.75의 시간을 준 다음 다시 Take_Damage_Period를 참으로 줌으로써 다시 공격을 받을 수 있게 한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

오늘도 부족하디 부족한 글 보느라 정말 감사하고, 제발 또 봤으면 좋겠다.

꼭 다시 놀러와주라!

 

사랑해요 여 to the 러 to the 분

 

반응형