중력 변수를 이해하고 활용하기
중력(gravity)은 모든 인스턴스(instance)가 가지고 있는 "내장(built-in)" 변수 중 하나입니다. 이 변수를 설정하면 인스턴스의 gravity_direction 방향으로 지속적인 힘이 작용하며, 이는 인스턴스의 속도(speed)와 방향(direction)에 영향을 줍니다.
중력의 기본 개념
- 중력은 누적(Cumulative) 힘입니다. 따라서 최종 속도를 제한하지 않으면 객체가 가속됩니다.
- 보통 이 변수를 0.01과 같은 작은 소수값으로 설정하는 것이 일반적입니다.
- 중력을 0으로 설정하면 인스턴스에 중력이 적용되지 않습니다. (이 값은 기본값입니다.)
문법
gravity;
반환값
이 변수는 단정도 부동 소수점(single precision floating point) 값을 반환합니다.
예제 코드
if (!place_meeting(x, y + 1, obj_Ground)) {
gravity = 0.01;
} else {
gravity = 0;
}
위 코드는 인스턴스가 아래에 "obj_Ground" 인스턴스를 찾지 못할 경우에만 중력을 적용합니다.
활용 예제
| 예제 번호 | 설명 | 코드 예시 |
|---|---|---|
| 1 | 떨어지는 물체 구현 | ```gml |
| if (!place_meeting(x, y + 1, obj_Ground)) { | ||
| gravity = 0.01; | ||
| } else { | ||
| gravity = 0; | ||
| } | ||
| ``` | ||
| 2 | 점프 기능 추가 | ```gml |
| if (keyboard_check_pressed(vk_space) && place_meeting(x, y + 1, obj_Ground)) { | ||
| gravity = -0.5; | ||
| } | ||
| ``` | ||
| 3 | 물체가 지속적으로 떨어지도록 설정 | ```gml |
| gravity = 0.02; | ||
| ``` |
결론
중력 변수는 게임 오브젝트의 물리적 행동을 정의하는 데 매우 중요한 요소입니다. 이 변수를 적절하게 활용하면 객체의 움직임과 상호작용을 보다 사실적으로 구현할 수 있습니다.
© Copyright YoYo Games Ltd. 2021 All Rights Reserved