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를 옮겨주는 작업을 한다.
👉🏻아래 로직은 떨어지는 것을 방지한다.
- RigidbodyComponent의 Gravity를 잠시 0으로 바꾼다.
- weit() 함수를 통해 랜덤한 시간을 대기한다.
- Gravity를 적절하게 맞추어 떨어뜨린다.
728x90