layer_get_script_end 함수 설명
layer_get_script_end 함수는 주어진 레이어의 렌더링이 끝난 후 실행될 스크립트 함수의 인덱스를 반환합니다. 만약 할당된 함수가 없다면 -1을 반환합니다. 이 함수는 레이어 핸들(레이어를 생성할 때 layer_create()를 사용하여 얻은) 또는 레이어 이름(문자열 형식)을 인수로 받습니다. 레이어에 스크립트 함수를 할당하려면 layer_script_begin()과 layer_script_end()를 사용합니다.
문법
layer_get_script_end(layer_id);
인수 설명
| 인수 이름 | 타입 | 설명 |
|---|---|---|
| layer_id | 문자열 또는 레이어 ID | 타겟 레이어의 핸들(또는 문자열 형식의 레이어 이름) |
반환값
- 스크립트 함수의 인덱스
- -1 (할당된 함수가 없는 경우)
활용 예제
아래 코드는 인스턴스가 실행 중인 레이어에 스크립트 함수가 할당되어 있는지 확인하고, 할당되어 있지 않다면 scr_ResetShaderValues 함수를 할당합니다.
if (layer_get_script_end(layer) == -1) {
layer_script_end(layer, scr_ResetShaderValues);
}
추가 활용 예제
- 레이어의 스크립트 함수가 할당되어 있는지 확인하고, 할당된 함수의 인덱스를 출력하는 코드:
var script_index = layer_get_script_end(layer);
if (script_index != -1) {
show_message("할당된 스크립트 함수 인덱스: " + string(script_index));
} else {
show_message("할당된 스크립트 함수가 없습니다.");
}
- 여러 레이어에 대해 스크립트 함수를 할당하고 확인하는 코드:
var layers = [layer1, layer2, layer3];
for (var i = 0; i < array_length(layers); i++) {
if (layer_get_script_end(layers[i]) == -1) {
layer_script_end(layers[i], scr_ResetShaderValues);
}
}
- 레이어의 스크립트 함수를 제거하는 코드:
if (layer_get_script_end(layer) != -1) {
layer_script_end(layer, noone);
}
이와 같이 layer_get_script_end 함수를 활용하여 레이어의 스크립트 함수 관리 및 확인을 할 수 있습니다.