layer_get_id_at_depth 함수 설명
layer_get_id_at_depth 함수는 특정 깊이에 할당된 모든 레이어의 ID를 가져오는 데 사용됩니다. 이 함수에 깊이를 입력하면 해당 깊이에 있는 레이어의 ID가 포함된 배열을 반환합니다. 만약 주어진 깊이에 레이어가 없다면, 배열의 [0] 위치에 -1 값이 있는 단일 항목이 포함됩니다. 반면, 깊이에 레이어가 존재한다면, 발견된 각 레이어에 대해 배열에 항목이 추가되며, 항목 값은 레이어의 핸들이 됩니다.
문법
layer_get_id_at_depth(depth)
매개변수
| 매개변수 | 타입 | 설명 |
|---|---|---|
| depth | Real | 레이어 ID를 확인하고 가져올 깊이입니다. |
반환값
| 반환값 | 타입 | 설명 |
|---|---|---|
| Array | Array | 주어진 깊이에 있는 레이어의 ID 배열입니다. |
예제
다음은 깊이가 0인 레이어에 대한 데이터를 가져오는 코드입니다. 해당 깊이에 레이어가 존재하는지 확인한 후, 존재한다면 반환된 배열을 파싱하여 발견된 각 레이어를 파괴합니다.
var a = layer_get_id_at_depth(0);
if a[0] != -1 {
for (var i = 0; i < array_length(a); i++) {
layer_destroy(a[i]);
}
}
활용 예제
1. 특정 깊이에 있는 모든 레이어의 이름 출력하기
var layers = layer_get_id_at_depth(1);
if layers[0] != -1 {
for (var i = 0; i < array_length(layers); i++) {
var layer_name = layer_get_name(layers[i]);
show_message("Layer Name: " + layer_name);
}
}
2. 깊이에 따라 레이어 색상 변경하기
var layers = layer_get_id_at_depth(2);
if layers[0] != -1 {
for (var i = 0; i < array_length(layers); i++) {
layer_set_color(layers[i], c_red);
}
}
3. 깊이에 있는 레이어의 속성 수정하기
var layers = layer_get_id_at_depth(3);
if layers[0] != -1 {
for (var i = 0; i < array_length(layers); i++) {
layer_set_visible(layers[i], false);
}
}
4. 깊이에 있는 레이어의 위치 조정하기
var layers = layer_get_id_at_depth(4);
if layers[0] != -1 {
for (var i = 0; i < array_length(layers); i++) {
layer_set_x(layers[i], layer_get_x(layers[i]) + 10);
layer_set_y(layers[i], layer_get_y(layers[i]) + 10);
}
}
5. 깊이에 있는 레이어의 크기 조정하기
var layers = layer_get_id_at_depth(5);
if layers[0] != -1 {
for (var i = 0; i < array_length(layers); i++) {
layer_set_width(layers[i], layer_get_width(layers[i]) * 1.5);
layer_set_height(layers[i], layer_get_height(layers[i]) * 1.5);
}
}