layer_get_id 함수 설명
layer_get_id 함수는 주어진 레이어의 고유 핸들을 가져오는 데 사용됩니다. IDE에서 모든 레이어는 이름과 유형을 가지며, 코드로 레이어를 편집하거나 변경하려면 레이어 핸들을 얻어야 합니다. 이 함수는 레이어의 이름(문자열)을 사용하여 이 핸들을 검색하는 데 사용됩니다.
사용법
- 새로운 레이어를 코드로 생성할 때
layer_create()함수를 사용하면, 해당 함수는 대신 핸들을 반환합니다. 동적으로 생성된 레이어는 지정하지 않는 한 이름을 가지지 않습니다. - 현재 방에 존재하지 않는 레이어의 이름을 제공하면, 이 함수는 -1을 반환합니다.
문법
layer_get_id(layer_name)
인수 설명
| 인수 이름 | 유형 | 설명 |
|---|---|---|
| layer_name | String | 레이어의 이름 (문자열) |
반환값
- 레이어 핸들 또는 -1 (지정된 레이어가 존재하지 않을 경우)
예제 코드
아래 코드는 주어진 x/y 위치에서 가장 가까운 인스턴스를 찾고, "Instances Front"라는 이름의 레이어 핸들을 가져와서 해당 레이어로 인스턴스를 이동시키는 예제입니다.
var near = instance_nearest(x, y, obj_Tree);
var layer_id = layer_get_id("Instances Front");
layer_add_instance(layer_id, near);
활용 예제
- 레이어 핸들 확인하기
gml var layer_id = layer_get_id("Background Layer"); if (layer_id != -1) { // 레이어가 존재할 경우 작업 수행 } - 인스턴스를 특정 레이어로 이동하기
gml var enemy_instance = instance_create_layer(x, y, "Enemies", obj_Enemy); var layer_id = layer_get_id("Enemies Layer"); layer_add_instance(layer_id, enemy_instance); - 레이어 삭제하기
gml var layer_id = layer_get_id("Old Layer"); if (layer_id != -1) { layer_destroy(layer_id); } - 모든 인스턴스를 특정 레이어로 이동하기
gml var layer_id = layer_get_id("Moving Layer"); var instances = instance_all(); for (var i = 0; i < array_length(instances); i++) { layer_add_instance(layer_id, instances[i]); }
이와 같이 layer_get_id 함수를 활용하면 레이어를 효과적으로 관리하고 인스턴스를 원하는 레이어로 이동시킬 수 있습니다.