fx_set_single_layer 함수 설명
fx_set_single_layer 함수는 필터/효과의 "단일 레이어" 모드를 활성화하거나 비활성화하는 데 사용됩니다. 기본적으로 필터/효과는 할당된 레이어와 그 아래의 모든 레이어에 적용되지만, FX 구조체에서 단일 레이어 모드를 활성화하면 해당 필터가 할당된 레이어에만 적용되도록 할 수 있습니다.
사용법
이 함수는 FX 구조체(예: fx_create() 또는 layer_get_fx()에서 반환된)와 단일 레이어 모드를 활성화(true) 또는 비활성화(false)하는 부울 값을 인수로 받습니다.
문법
fx_set_single_layer(filter_or_effect, enable);
인수 설명
| 인수 | 유형 | 설명 |
|---|---|---|
| filter_or_effect | FX 구조체 | 수정할 FX 구조체 |
| enable | 부울 값 | 단일 레이어 모드를 활성화(true) 또는 비활성화(false) |
반환값
이 함수는 반환값이 없습니다.
예제
다음 코드는 새로운 스크린 쉐이크 FX를 생성하고, 단일 레이어 모드를 활성화한 후, 이를 특정 레이어에 적용하는 예제입니다.
shake_fx = fx_create("_filter_screenshake");
fx_set_single_layer(shake_fx, true);
layer_set_fx("ShakeyThings", shake_fx);
위의 코드는 "ShakeyThings" 레이어에만 스크린 쉐이크 필터가 적용되도록 설정합니다.
활용 예제
- 단일 레이어 모드 비활성화 예제
gml shake_fx = fx_create("_filter_screenshake"); fx_set_single_layer(shake_fx, false); layer_set_fx("Background", shake_fx); - 여러 필터를 다른 레이어에 적용하는 예제 ```gml blur_fx = fx_create("_filter_blur"); fx_set_single_layer(blur_fx, true); layer_set_fx("Foreground", blur_fx);
color_fx = fx_create("_filter_color"); fx_set_single_layer(color_fx, true); layer_set_fx("UI", color_fx); ```
- 효과를 레이어에 따라 다르게 적용하는 예제 ```gml glow_fx = fx_create("_filter_glow"); fx_set_single_layer(glow_fx, true); layer_set_fx("EffectsLayer", glow_fx);
shadow_fx = fx_create("_filter_shadow"); fx_set_single_layer(shadow_fx, true); layer_set_fx("ShadowLayer", shadow_fx); ```
이와 같이 fx_set_single_layer 함수를 활용하여 다양한 필터와 효과를 레이어에 맞게 조정할 수 있습니다.