layer_get_element_type 함수 설명
layer_get_element_type 함수는 주어진 요소의 유형을 가져오는 데 사용됩니다. 이 함수는 고유한 요소 ID 값을 입력받아 해당 요소의 유형을 나타내는 상수를 반환합니다. 이 상수는 다음과 같습니다:
| 상수 | 설명 |
|---|---|
| layerelementtype_background | 요소가 배경입니다. |
| layerelementtype_instance | 요소가 인스턴스입니다. |
| layerelementtype_sprite | 요소가 스프라이트 자산입니다. |
| layerelementtype_tilemap | 요소가 타일맵입니다. |
| layerelementtype_oldtilemap | 요소가 구형 타일맵입니다. |
| layerelementtype_particlesystem | 요소가 파티클 시스템입니다. |
| layerelementtype_tile | 요소가 레거시 배경 타일입니다. (이것은 이전 버전의 GameMaker에서 가져온 프로젝트에만 유효합니다.) |
| layerelementtype_sequence | 요소가 시퀀스입니다. |
| layerelementtype_undefined | 요소가 존재하지 않거나 ID 값이 잘못되었습니다. |
이 함수는 여러 다른 요소 유형이 하나의 레이어에 할당된 경우에 특히 유용합니다. layer_get_all_elements 함수를 사용하여 주어진 레이어의 모든 요소 목록을 가져올 수 있습니다.
구문
layer_get_element_type(element_id)
인수
| 인수 | 유형 | 설명 |
|---|---|---|
| element_id | Layer Element ID | 유형을 가져올 요소의 고유 ID 값입니다. |
반환값
- Layer Element Type Constant (요소가 존재하지 않거나 유효하지 않은 경우
layerelementtype_undefined반환)
활용 예제
다음은 layer_get_element_type 함수를 활용한 코드 예제입니다.
예제 1: 스프라이트 요소 삭제하기
var a = layer_get_all_elements(layer);
for (var i = 0; i < array_length(a); i++) {
if (layer_get_element_type(a[i]) == layerelementtype_sprite) {
layer_sprite_destroy(a[i]);
}
}
이 코드는 현재 실행 중인 인스턴스의 레이어에 할당된 모든 인스턴스 요소의 ID를 가져옵니다. 그런 다음 반환된 요소 중 스프라이트 자산이 있는지 확인하고, 있다면 이를 삭제합니다.
예제 2: 특정 유형의 요소 카운트하기
var count = 0;
var elements = layer_get_all_elements(layer);
for (var i = 0; i < array_length(elements); i++) {
if (layer_get_element_type(elements[i]) == layerelementtype_instance) {
count++;
}
}
show_message("인스턴스 요소 수: " + string(count));
이 코드는 레이어에 있는 인스턴스 요소의 수를 세고, 그 결과를 메시지로 표시합니다.
예제 3: 모든 요소의 유형 출력하기
var elements = layer_get_all_elements(layer);
for (var i = 0; i < array_length(elements); i++) {
var type = layer_get_element_type(elements[i]);
switch (type) {
case layerelementtype_background:
show_message("배경 요소 발견");
break;
case layerelementtype_sprite:
show_message("스프라이트 요소 발견");
break;
// 다른 유형에 대한 처리 추가 가능
}
}
이 코드는 레이어의 모든 요소를 순회하며 각 요소의 유형을 출력합니다. 각 유형에 따라 다른 메시지를 표시할 수 있습니다.