layer_clear_fx 함수 설명
layer_clear_fx 함수는 지정된 레이어에 적용된 FX 구조체를 지우는 데 사용됩니다. 이 함수를 사용하면 레이어의 효과를 완전히 비활성화할 수 있습니다. 수정하려는 레이어의 ID 또는 이름을 지정하면 해당 레이어에 적용된 FX 구조체가 제거됩니다.
사용법
이 함수를 사용하여 효과를 일시적으로 비활성화하고 나중에 다시 복원해야 하는 경우, 먼저 layer_get_fx()를 호출하여 레이어의 FX 구조체를 저장한 후 이 함수를 호출하여 레이어에서 지워야 합니다. 이후 layer_set_fx()를 호출하여 다시 레이어에 적용할 수 있습니다.
구문
layer_clear_fx(layer_name_or_id);
인수 설명
| 인수 | 유형 | 설명 |
|---|---|---|
| layer_name_or_id | String 또는 Layer ID | FX를 지울 레이어의 이름 또는 ID |
반환값
N/A
예제 코드
// 효과 비활성화
if (keyboard_check_pressed(ord("E"))) {
if (layer_get_fx("EffectLayer") != -1) {
temp_fx = layer_get_fx("EffectLayer");
layer_clear_fx("EffectLayer");
}
}
// 효과 재활성화
else if (keyboard_check_pressed(ord("F"))) {
if (temp_fx != -1) {
layer_set_fx("EffectLayer", temp_fx);
temp_fx = -1;
}
}
위의 코드는 "E" 키가 눌렸는지 확인하고, "EffectLayer" 레이어에 필터/효과가 적용되어 있는지 확인합니다. 이 경우 FX 구조체를 임시 변수에 저장하고 레이어의 필터/효과를 지웁니다. "F" 키가 눌리면 임시 변수가 -1이 아닌 경우 FX를 레이어에 다시 적용하고 임시 변수를 -1로 리셋합니다. 이를 통해 필요할 때마다 효과를 활성화 및 비활성화할 수 있습니다.
활용 예제
- 게임 내 효과 전환
- 플레이어가 특정 키를 눌렀을 때 효과를 전환하여 게임의 시각적 요소를 변화시킬 수 있습니다.
if (keyboard_check_pressed(ord("G"))) {
layer_clear_fx("PlayerLayer");
}
- UI 요소의 효과 관리
- UI 요소에 효과를 적용하고 필요할 때마다 쉽게 비활성화할 수 있습니다.
if (mouse_check_button_pressed(mb_left)) {
layer_clear_fx("UIButtonLayer");
}
- 적의 효과 제어
- 적 캐릭터의 상태에 따라 효과를 동적으로 변경하여 게임의 난이도를 조절할 수 있습니다.
if (enemy_health < 50) {
layer_clear_fx("EnemyLayer");
}
- 일시적인 효과 제거
- 특정 이벤트 발생 시 효과를 제거하고, 이벤트가 끝난 후 다시 적용할 수 있습니다.
if (event_occurred) {
layer_clear_fx("EventLayer");
}
이와 같은 방식으로 layer_clear_fx 함수를 활용하여 다양한 효과를 동적으로 관리할 수 있습니다.