weak_ref_any_alive 함수 설명
weak_ref_any_alive
함수는 다양한 구조체에 대한 약한 참조가 여전히 "살아있는지" 확인하는 데 사용됩니다. 이 함수는 약한 참조의 배열을 입력받아, 해당 구조체가 여전히 참조되고 있는지 여부를 판단합니다. 만약 구조체가 여전히 참조되고 있다면 true
를 반환하고, 그렇지 않다면 false
를 반환합니다. 만약 배열에 약한 참조가 아닌 값이 포함되어 있다면 함수는 undefined
를 반환합니다.
함수 문법
weak_ref_any_alive(array, [index], [length])
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
array | Array | 확인하고자 하는 구조체에 대한 약한 참조 배열 |
index | Real | 확인을 시작할 배열의 인덱스 |
length | Real | 주어진 인덱스에서 확인할 위치의 수 |
반환값
- Boolean (또는 undefined)
활용 예제
- 기본 사용 예제
약한 참조 배열을 확인하고, 살아있는 구조체가 있으면 인스턴스를 파괴합니다.gml if (weak_ref_any_alive(inventory_ref_array)) { instance_destroy(obj_Inventory_Control); }
- 인덱스와 길이 지정
특정 인덱스에서 시작하여 제한된 길이만큼 확인합니다.gml if (weak_ref_any_alive(inventory_ref_array, 2, 5)) { // 특정 인덱스에서 5개 요소를 확인 }
- 약한 참조가 아닌 값 포함 시 처리
배열에 약한 참조가 아닌 값이 포함된 경우의 처리 예제입니다.gml var result = weak_ref_any_alive(mixed_array); if (result == undefined) { // 배열에 약한 참조가 아닌 값이 포함됨 }
- 반복문을 통한 확인
여러 약한 참조를 반복적으로 확인하는 예제입니다.gml for (var i = 0; i < array_length(ref_array); i++) { if (weak_ref_any_alive(ref_array, i, 1)) { // 각 약한 참조를 개별적으로 확인 } }
- 조건부 로직 추가
살아있는 구조체에 따라 다른 행동을 취하는 예제입니다.gml if (weak_ref_any_alive(enemy_ref_array)) { // 적이 살아있을 때의 행동 } else { // 적이 모두 파괴되었을 때의 행동 }
이와 같은 방식으로 weak_ref_any_alive
함수를 활용하여 약한 참조의 상태를 확인하고, 필요한 로직을 구현할 수 있습니다.