layer_hspeed 함수 설명
layer_hspeed 함수는 현재 스코프에 있는 방 내에서 레이어의 수평 속도를 설정하는 데 사용됩니다. 이 함수는 레이어 핸들(레이어를 생성할 때 layer_create를 사용하여 얻은 값) 또는 레이어 이름(문자열 형식 - 성능에 영향을 미침)과 설정할 속도 값을 인자로 받습니다. 양수 값은 오른쪽으로, 음수 값은 왼쪽으로 이동합니다.
문법
layer_hspeed(layer_id, hspd)
인자 설명
| 인자 이름 | 타입 | 설명 |
|---|---|---|
| layer_id | String 또는 Layer ID | 수평 속도를 설정할 레이어의 핸들 |
| hspd | Real | 설정할 수평 속도 (픽셀/게임 프레임) |
반환값
N/A
예제 코드
var lay_id = layer_get_id("Sprites");
||
|---|
layer_hspeed(lay_id, 0);
layer_vspeed(lay_id, 0);
}
위 코드는 주어진 레이어의 수평 및 수직 속도를 확인하고, 둘 다 0이 아니면 0으로 설정합니다.
활용 예제
예제 1: 레이어의 속도 설정
var lay_id = layer_get_id("Background");
layer_hspeed(lay_id, 5); // 레이어를 오른쪽으로 이동
예제 2: 레이어 속도 초기화
var lay_id = layer_get_id("Enemies");
if layer_get_hspeed(lay_id) > 0 {
layer_hspeed(lay_id, -3); // 왼쪽으로 이동
}
예제 3: 레이어 속도 조정
var lay_id = layer_get_id("Player");
if (keyboard_check(vk_right)) {
layer_hspeed(lay_id, 10); // 오른쪽으로 빠르게 이동
} else if (keyboard_check(vk_left)) {
layer_hspeed(lay_id, -10); // 왼쪽으로 빠르게 이동
} else {
layer_hspeed(lay_id, 0); // 정지
}
예제 4: 레이어 속도에 따른 애니메이션
var lay_id = layer_get_id("AnimatedLayer");
if layer_get_hspeed(lay_id) != 0 {
// 애니메이션 재생
sprite_index = spr_animated;
} else {
// 정지 애니메이션
sprite_index = spr_idle;
}
이와 같은 방식으로 layer_hspeed 함수를 활용하여 게임 내 다양한 레이어의 수평 속도를 조정하고, 게임의 동작을 제어할 수 있습니다.