움직임 추가 (Add Motion)
이 문서에서는 Add Motion 액션을 설명합니다. 이 액션은 주어진 방향으로 지정된 속도로 인스턴스를 가속화하는 데 사용됩니다. 이는 우주선이나 구르는 공과 같이 점차적으로 가속하는 인스턴스를 제어할 때 유용합니다. 반면, RPG 캐릭터처럼 일정한 속도로 움직이는 인스턴스에는 적합하지 않습니다.
액션 문법 (Action Syntax)
인자 (Arguments)
| 인자 | 설명 |
|---|---|
| Direction | 가속할 방향 |
| Speed | 가속의 속도 |
예제 (Example)
다음 코드는 인스턴스가 스프라이트의 회전 방향으로 가속하도록 설정하며, 위쪽 화살표 키가 눌려 있는 경우 속도가 0.1로 설정됩니다. 인스턴스를 회전시키려면 image_angle 변수를 수정할 수 있습니다.
if (keyboard_check(vk_up)) {
Add Motion(image_angle, 0.1);
}
다양한 활용 및 응용 예제
- 우주선 가속화
사용자가 위쪽 화살표 키를 눌렀을 때 우주선이 점진적으로 가속하도록 하는 코드 예제입니다.
gml if (keyboard_check(vk_up)) { Add Motion(image_angle, 0.2); }
- 구르는 공 동작
구르는 공이 경사를 따라 아래로 굴러 내려가도록 설정하는 방법입니다.
gml if (place_meeting(x, y + 1, obj_ground)) { Add Motion(270, 0.15); // 아래쪽으로 가속 }
- 비행기 기동
비행기가 특정 방향으로 천천히 방향을 틀면서 가속하는 방법입니다.
gml if (keyboard_check(vk_left)) { image_angle -= 2; // 비행기를 왼쪽으로 회전 } if (keyboard_check(vk_up)) { Add Motion(image_angle, 0.25); // 회전 방향으로 가속 }
- 물체의 감속
물체가 움직이던 중 갑자기 정지하는 기능을 추가할 수도 있습니다.
gml if (keyboard_check_released(vk_up)) { Add Motion(image_angle, -0.1); // 가속도를 떨어뜨리기 }
요약
Add Motion 액션은 게임 내 인스턴스를 자연스러운 속도로 이동시키는 데 도움을 줍니다. 다양한 게임 시나리오에서 활용 가능하며, 유연한 대처가 가능합니다. 추가적인 가속 및 방향 조정은 게임의 몰입감을 높이는 데 기여할 수 있습니다.