제일 먼저, 장애물이 떨어지게 하려면 중력
을 가지도록 해야 함 !
RigidbodyComponent
를 장애물 Entity에 추가장애물이 특정 y좌표보다 아래로 떨어지게 될 경우 자신이 설정한 바닥의 y좌표+a로 이동하는 방식
→ x 좌표 및 떨어지는 간격을 math.random()
을 사용해 랜덤하게 설정 !
TrapFallingComponent {
Property:
Function:
void OnUpdate( number delta ) {
**local trap = self.Entity -- trap으로 사용되는 엔티티 자신
-- 장애물이 특정 y좌표보다 아래로 떨어지게 될 경우 자신이 설정한 바닥의 y좌표+a로 이동
if trap.TransformComponent.Position.y <= -2.5 then
trap.MovementComponent:SetPosition( Vector2(math.random(3, 10.6), 45) ) -- 난이도 조절을 위해 x 좌표를 랜덤으로 지정
trap.RigidbodyComponent.Gravity = 0 -- 중력=0으로 두어 멈추도록 함
wait( math.random(0, 3) ) -- 0~3초 간격으로 떨어지도록 설정
trap.RigidbodyComponent.Gravity = 0.5
end**
}
Entity Event Handler:
}
MovementComponent.Position
→ 엔티티의 위치 반환MovementComponent:SetPosition
→ 엔티티의 위치 설정RigidbodyComponent.Gravity
→ 엔티티에 가해지는 중력 값 ( 반환 및 설정 )강의에서 배웠던 내용을 토대로 랜덤한 y위치로부터 생성 …
→ 근데 바닥에 자꾸 쌓이는데 왜지 ??? ;ㄷ;