그 땐 IT활동했지/그 땐 멋쟁이사자처럼했지

[멋쟁이사자처럼 X 넥슨] MOD Suppoters Hackathon 4주차 7/26일 회고 | 실습: 따라하기만 하면 만들 수 있는 장애물 피하기 게임②

루이란 2022. 7. 26. 17:39
728x90

떨어지는 장애물 만들기


장애물에 중력을 부여하는 원리


👉🏻중력값을 가지게 하기 위해 Component인 RigidbodyComponent를 해당 장애물에 추가한다. 그리고 이 장애물이 Tile을 만나면 다지 위로 respawn되게 하려면 Trap_Falling_Component를 만들어 장애물에 추가해줘야 한다.

 

실습 - 장애물 위치에 따라 해당 Entity y좌표 설정하기


장애물이 특정 y좌표보다 아래로 떨어지만 자신이 설정한 바닥의 y좌표보다 조금 높게 설정해보자!

👉🏻Posigion.y가 지정한 y좌표보다 더 낮게 진행되면 MovementComponent:SetPosition을 통해 올려준다.

 

실습 - 구현 TIP


👉🏻math.random함수로 x좌표를 좌우로 바꾼다. 또한 wait(math.random())을 통해 period를 바꾸어 주기를 바꾼다. → 장애물이 매번 같은 라인에서 같은 주기로 떨어지면 게임 난이도가 내려가기 때문이다. 이렇게 하면 다양한 타이밍에 다양한 장소로 떨어진다.

self.Entity.MovementComponent:SetPosition(Vector2(,))

👉🏻y좌표가 특정 좌표보다 크기가 줄어들면 Entity를 옮겨주는 작업을 한다.

👉🏻아래 로직은 떨어지는 것을 방지한다.

  1. RigidbodyComponent의 Gravity를 잠시 0으로 바꾼다.
  2. weit() 함수를 통해 랜덤한 시간을 대기한다.
  3. Gravity를 적절하게 맞추어 떨어뜨린다.
728x90