GameMaker: Direction 속성 설명 및 활용 예제
개요
GameMaker에서 모든 인스턴스는 특정 "내장" 속성을 가지고 있으며, 이를 통해 인스턴스의 외형과 동작 방식을 설정할 수 있습니다. 그 중 하나가 방향 (Direction) 속성입니다. 이 속성은 인스턴스의 이동 방향을 설정하는 데 사용됩니다. 인스턴스의 속도가 0이 아닐 때 방향을 설정하게 됩니다.
방향 각도
GameMaker에서 방향은 다음과 같이 계산됩니다: - 0°: 오른쪽 - 90°: 위쪽 - 180°: 왼쪽 - 270°: 아래쪽
또한, gravity 및 gravity_direction 변수를 사용하면 방향 값을 수정할 수 있습니다.
문법
direction;
반환
- 단일 정밀도 부동 소수점 값 (Single precision floating point value)
예제 코드
아래 코드는 눌린 방향키에 따라 인스턴스의 이동 방향을 변경하는 예시입니다.
if (keyboard_check(vk_left)) direction += 5;
if (keyboard_check(vk_right)) direction -= 5;
위 코드는 왼쪽 화살표키를 누를 경우 방향을 5도 증가시키고, 오른쪽 화살표키를 누를 경우 방향을 5도 감소시킵니다.
활용 및 응용 예제
| 기능 | 코드 예제 | 설명 |
|---|---|---|
| 기본 이동 | gml direction = 90; speed = 4; |
인스턴스를 위쪽으로 4의 속도로 이동 |
| 플레이어 컨트롤 | gml if (keyboard_check(vk_up)) direction = 90; |
위쪽 화살표키를 누를 때 위로 이동 |
| 회전하기 | gml direction += 10; |
인스턴스를 시계 방향으로 10도 회전 |
| 멈추기 | gml speed = 0; |
인스턴스의 속도를 0으로 설정하여 멈춤 |
| 중력 효과 | gml gravity = 1; gravity_direction = 270; |
아래로 중력 효과 적용 |
| 물체 간 충돌 감지 | gml if (place_meeting(x, y + 1, obj_wall)) { direction = 90; } |
벽과 충돌 시 위로 이동 |
| 랜덤 이동 | gml direction = random(360); |
인스턴스를 랜덤한 방향으로 이동 |
| 내구성 변형 | gml if (health < 50) { direction += 180; } |
생명력이 50% 이하일 때 반대 방향으로 이동 |
요약
이 문서에서는 GameMaker의 direction 속성에 대해 설명했습니다. 이를 통해 인스턴스의 이동 방향을 설정하고 다양한 움직임과 효과를 만들 수 있습니다. 이를 활용하여 게임을 더욱 재미있고 역동적으로 만들어보세요.