GameMaker 속성 이해 및 활용 예제
GameMaker에서는 모든 인스턴스가 특정 "내장" 속성을 가지고 있습니다. 이러한 속성은 인스턴스의 외관과 행동을 정의하는 데 사용됩니다. 이 문서에서는 speed 속성에 대해 설명하고, 다양한 활용 및 응용 예제를 제공합니다.
speed 속성이란?
speed 속성은 인스턴스가 매 스텝마다 몇 픽셀을 이동할지를 정의합니다. hspeed와 vspeed와는 달리, speed는 방향과 무관한 값입니다. 방향은 인스턴스의 direction 값에 의해 결정됩니다. 하지만 speed는 음수 값을 가질 수 있으며, 이 경우 인스턴스는 direction 함수에서 설정한 방향의 반대 방향으로 이동합니다 (예: direction - 180°).
주요 사항
speed속성을 설정하면hspeed와vspeed값도 함께 수정됩니다.gravity,gravity_direction,friction과 같은 요소들도speed값을 수정할 수 있습니다.
문법
speed;
반환 값
- 단일 정밀도 부동 소수점 값 (Single precision floating point value)
예제 코드
아래의 코드는 화살표 키를 사용하여 인스턴스의 속도와 방향을 설정하는 방법을 보여줍니다.
if (keyboard_check(vk_up)) speed = 2;
if (keyboard_check(vk_left)) direction += 5;
if (keyboard_check(vk_right)) direction -= 5;
위 코드를 통해 상향 키를 누르면 속도가 2로 설정되며, 왼쪽 및 오른쪽 화살표 키를 누르면 방향이 해당 각도만큼 변경됩니다.
활용 및 응용 예제
아래의 표는 speed 속성을 활용한 다양한 예제를 정리한 것입니다.
| 예제 이름 | 설명 | 코드 예제 |
|---|---|---|
| 기본 이동 | 키보드 입력에 따른 기본 이동 구현 | gml if (keyboard_check(vk_up)) speed = 2; |
| 방향 전환 | 왼쪽 및 오른쪽 방향 전환으로 인스턴스 회전 | gml if (keyboard_check(vk_left)) direction += 5; |
| 속도 증가 | 윈도우에서 키를 누르는 동안 속도 증가 | gml if (keyboard_check(vk_space)) speed += 1; |
| 중력 적용 | 중력 효과를 통해 속도 감소 | gml speed -= gravity; |
| 반대 방향 이동 | 반대 방향으로 이동하여 속도를 음수로 설정 | gml if (keyboard_check(vk_down)) speed = -2; |
결론
GameMaker에서 speed 속성은 인스턴스의 이동을 제어하는 중요한 역할을 합니다. 이를 활용하여 다양한 게임 행동을 구현할 수 있으며, 추가적인 조작으로 게임의 재미를 더할 수 있습니다.