layer_fx_is_enabled 함수 설명
layer_fx_is_enabled 함수는 특정 레이어의 필터 또는 효과가 활성화되어 있는지를 확인하는 기능을 제공합니다. 이 함수는 레이어의 ID 또는 이름을 입력받아 해당 레이어의 효과가 활성화(true) 또는 비활성화(false) 상태인지 불리언 값으로 반환합니다.
문법
layer_fx_is_enabled(layer_name_or_id);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| layer_name_or_id | String 또는 Layer ID | 확인할 레이어의 이름 또는 ID |
반환값
- Boolean: 레이어의 효과가 활성화되어 있으면 true, 비활성화되어 있으면 false를 반환합니다.
활용 예제
아래의 코드는 인스턴스를 "재생성"하여 원래 위치로 이동시키고 HP를 다시 채운 후, "DesaturateLayer"라는 효과 레이어가 활성화되어 있는지를 확인합니다. 만약 활성화되어 있다면, 해당 효과를 비활성화합니다.
x = xstart;
y = ystart;
hp = hp_max;
if (layer_fx_is_enabled("DesaturateLayer")) {
layer_enable_fx("DesaturateLayer", false);
}
추가 활용 예제
- 레이어 효과 확인 후 다른 효과 적용하기
gml if (!layer_fx_is_enabled("GlowLayer")) { layer_enable_fx("GlowLayer", true); } - 모든 레이어의 효과 상태 출력하기
gml var layers = layer_get_all(); for (var i = 0; i < array_length(layers); i++) { var layer_name = layers[i]; show_message(layer_name + ": " + string(layer_fx_is_enabled(layer_name))); } - 특정 조건에서 효과 비활성화하기
gml if (player_health < 50) { if (layer_fx_is_enabled("DamageEffect")) { layer_enable_fx("DamageEffect", false); } } - 효과가 활성화된 레이어의 수 세기
gml var active_fx_count = 0; var layers = layer_get_all(); for (var i = 0; i < array_length(layers); i++) { if (layer_fx_is_enabled(layers[i])) { active_fx_count++; } } show_message("활성화된 효과 레이어 수: " + string(active_fx_count));
이와 같이 layer_fx_is_enabled 함수를 활용하여 다양한 효과를 관리하고, 게임의 시각적 요소를 동적으로 조정할 수 있습니다.