인스턴스의 y 값 이해하기
인스턴스의 y 값은 현재 방에서의 세로 위치를 픽셀 단위로 나타냅니다. 이 값은 0 이상의 양수나 음수가 될 수 있으며, 0은 방의 가장 위에 해당합니다. 아래로 내려가면 y 값이 증가하고, 위로 올라가면 y 값이 감소하게 됩니다. y 값이 음수인 경우는 인스턴스가 방의 상단을 넘어갔다는 의미입니다.
y 값에 실수(예: 12.345)를 지정할 수도 있지만, 픽셀의 일부인 .345와 같은 값은 시각적으로 이동하지 않은 것처럼 보일 수 있습니다. 그러나 이러한 값은 내부적으로 GameMaker에 의해 유지되며 완전히 유효합니다. y (및 x) 값을 설정하여 객체가 방의 원하는 위치로 점프하도록 만들거나, 더 작은 값으로 더하고 빼서 실제로 speed 및 direction 함수를 사용하지 않고도 움직임의 환상을 줄 수 있습니다. 게임 제작 시 한 가지 유형의 움직임이 특정 게임 스타일에 더 잘 맞기 때문에 이를 고려해야 합니다.
문법
y;
반환 값
- (단정도 부동 소수점 값)
예제 코드
아래 코드는 화살표 키를 사용하여 y 위치에 더하거나 빼서 움직임을 만드는 기능을 수행합니다.
if (keyboard_check(vk_down)) y += 5;
if (keyboard_check(vk_up)) y -= 5;
활용 예제
다양한 활용 및 응용 예제를 살펴보겠습니다.
| 예제 번호 | 설명 | 코드 |
|---|---|---|
| 1 | 인스턴스를 아래로 이동 | gml if (keyboard_check(vk_down)) y += 5; |
| 2 | 인스턴스를 위로 이동 | gml if (keyboard_check(vk_up)) y -= 5; |
| 3 | 인스턴스가 아래边으로 이동하여 점프하는 효과 | gml if (keyboard_check(vk_space)) { y -= 20; } |
| 4 | 인스턴스가 아래로 떨어지는 중력 효과 | gml if (y < room_height) { y += 5; } |
| 5 | 화면 끝에 닿으면 멈추기 | gml if (y >= room_height) { y = room_height; } |
이러한 코드들을 사용하여 인스턴스의 y 값을 조절함으로써 다양한 움직임 효과를 구현할 수 있습니다.