layer_instance_get_instance 함수 설명
layer_instance_get_instance 함수는 주어진 인스턴스 요소의 고유 인스턴스 ID를 가져오는 데 사용됩니다. 이 함수는 인스턴스 요소의 ID를 입력받아 해당 요소의 고유 인스턴스 ID를 반환합니다. 만약 해당 요소가 인스턴스가 아닐 경우, 함수는 -1을 반환합니다.
문법
layer_instance_get_instance(element_id)
매개변수
| 매개변수 이름 | 타입 | 설명 |
|---|---|---|
| element_id | Instance Element ID | 고유 인스턴스 요소 ID를 가져올 요소의 ID |
반환값
- Object Instance: 인스턴스의 고유 ID
예제
다음 코드는 레이어의 모든 인스턴스 요소를 확인하고, 각 인스턴스의 고유 핸들을 가져와서 10픽셀 오른쪽으로 이동시키는 예제입니다.
elements = layer_get_all_elements("Instances");
for (var i = 0; i < array_length(elements); i++) {
if (layer_get_element_type(elements[i]) == layerelementtype_instance) {
var layerelement = elements[i];
var inst = layer_instance_get_instance(layerelement);
inst.x = inst.x + 10;
}
}
활용 예제
- 인스턴스의 위치 변경
gml var inst = layer_instance_get_instance(element_id); if (inst != -1) { inst.y = inst.y - 5; // 위로 5픽셀 이동 } - 인스턴스의 속성 수정
gml var inst = layer_instance_get_instance(element_id); if (inst != -1) { inst.image_index = 1; // 이미지 인덱스 변경 } - 인스턴스 삭제
gml var inst = layer_instance_get_instance(element_id); if (inst != -1) { instance_destroy(inst); // 인스턴스 삭제 } - 인스턴스의 속성 확인
gml var inst = layer_instance_get_instance(element_id); if (inst != -1) { var health = inst.health; // 인스턴스의 체력 확인 } - 인스턴스의 상태 변경
gml var inst = layer_instance_get_instance(element_id); if (inst != -1) { inst.state = "jump"; // 상태를 점프 상태로 변경 }
이 함수는 다양한 인스턴스 조작에 유용하게 사용될 수 있습니다.