layer_sprite_y 함수 설명 및 활용 예제
layer_sprite_y 함수는 레이어의 자산 스프라이트 요소의 y축 위치를 제어하는 함수입니다. 이 함수를 사용하면 특정 스프라이트 요소의 y좌표를 설정할 수 있습니다.
함수 구문
layer_sprite_y(sprite_element_id, y);
매개변수 설명
| 매개변수 | 타입 | 설명 |
|---|---|---|
| sprite_element_id | Sprite Element ID | 변경할 스프라이트 요소의 고유 ID 값 |
| y | Real | 스프라이트의 y 위치 (룸 좌표 기준) |
반환값
- N/A
예제 코드
var lay_id = layer_get_id("Asset_sky");
var spr_id = layer_sprite_get_id(lay_id, "Clouds");
layer_sprite_y(spr_id, 50 + irandom(room_height - 200));
위 코드는 "Asset_sky" 레이어에 할당된 "Clouds" 스프라이트 자산의 ID 값을 가져온 후, 그 y 위치를 50과 룸 높이에서 200을 뺀 값 사이의 랜덤 값으로 설정합니다.
활용 및 응용 예제
1. 스프라이트 위치 랜덤화
var lay_id = layer_get_id("Background");
var spr_id = layer_sprite_get_id(lay_id, "Stars");
layer_sprite_y(spr_id, irandom(room_height));
- 이 코드는 "Background" 레이어의 "Stars" 스프라이트의 y 위치를 룸의 높이 내에서 랜덤하게 설정합니다.
2. 스프라이트 애니메이션 효과
var lay_id = layer_get_id("Foreground");
var spr_id = layer_sprite_get_id(lay_id, "Bird");
layer_sprite_y(spr_id, 100 + sin(current_time * 0.01) * 50);
- 이 코드는 "Foreground" 레이어의 "Bird" 스프라이트의 y 위치를 시간에 따라 진동하는 애니메이션 효과를 줍니다.
3. 스프라이트 위치 초기화
var lay_id = layer_get_id("Main");
var spr_id = layer_sprite_get_id(lay_id, "Player");
layer_sprite_y(spr_id, room_height - 100);
- 이 코드는 "Main" 레이어의 "Player" 스프라이트의 y 위치를 룸의 바닥에서 100만큼 위로 설정하여 초기화합니다.
4. 사용자 입력에 따른 위치 변경
var lay_id = layer_get_id("GameLayer");
var spr_id = layer_sprite_get_id(lay_id, "Enemy");
if (keyboard_check(vk_up)) {
layer_sprite_y(spr_id, layer_sprite_y(spr_id) - 5);
}
- 이 코드는 사용자가 위쪽 화살표 키를 누를 때마다 "Enemy" 스프라이트의 y 위치를 5만큼 위로 이동시킵니다.
5. 특정 조건에 따른 위치 조정
var lay_id = layer_get_id("UI");
var spr_id = layer_sprite_get_id(lay_id, "HealthBar");
if (player_health < 20) {
layer_sprite_y(spr_id, 10);
} else {
layer_sprite_y(spr_id, 50);
}
- 이 코드는 플레이어의 체력이 20 미만일 경우 "HealthBar" 스프라이트의 y 위치를 10으로 설정하고, 그렇지 않으면 50으로 설정합니다.