layer_force_draw_depth 함수 설명
layer_force_draw_depth 함수는 모든 레이어가 지정된 Z 깊이에서 그려지도록 강제합니다. 이 함수는 레이어가 렌더링되는 순서를 변경하지 않으며, 여전히 깊이 순서에 따라 그려집니다. 단지 사용되는 Z 값을 변경하는 것입니다. 일반적으로 이 기능에 대해 걱정할 필요는 없지만, 허용된 범위(-16000에서 16000) 밖에 있는 깊이를 가진 레이어가 있다면 렌더링되지 않습니다. 이 경우 Z 깊이를 합리적인 값(예: 0)으로 강제하면 모든 레이어가 정상적으로 렌더링됩니다.
이 함수는 이전 버전의 GameMaker에서 더 높은 또는 더 낮은 드로우 깊이를 가질 수 있었던 레거시 프로젝트에서 주로 사용됩니다. 이 함수는 지정된 레이어 내에서 실행 중인 모든 객체 인스턴스의 gpu_set_depth로 설정된 깊이보다 우선합니다.
문법
layer_force_draw_depth(force, depth)
인수 설명
| 인수 | 유형 | 설명 |
|---|---|---|
| force | Boolean | Z 깊이 강제를 활성화(true) 또는 비활성화(false) 여부 |
| depth | Real | 새로운 Z 깊이 |
반환값
- 해당 없음
예제
if (!layer_is_draw_depth_forced()) {
layer_force_draw_depth(true, 0);
}
위 코드는 레이어 Z 깊이가 강제되고 있는지 확인하고, 강제되지 않았다면 Z 깊이를 0으로 설정하고 활성화합니다.
활용 예제
예제 1: 레이어 깊이 강제 설정
if (!layer_is_draw_depth_forced()) {
layer_force_draw_depth(true, -100);
}
예제 2: 특정 조건에서 깊이 변경
if (some_condition) {
layer_force_draw_depth(true, 50);
} else {
layer_force_draw_depth(false, 0);
}
예제 3: 레이어 깊이 초기화
layer_force_draw_depth(false, 0);
예제 4: 여러 레이어에 대해 깊이 설정
layer_force_draw_depth(true, 10);
layer_force_draw_depth(true, -10);
예제 5: 레이어 깊이 확인 후 설정
if (!layer_is_draw_depth_forced()) {
layer_force_draw_depth(true, 20);
}
이 문서에서는 layer_force_draw_depth 함수의 사용법과 다양한 활용 예제를 설명했습니다.