instance_id_get 함수에 대한 설명
instance_id_get 함수는 현재 활성 인스턴스 목록에서 특정 인스턴스의 고유 핸들을 가져오는 기능을 제공합니다. 이 함수를 사용하면 인스턴스의 인덱스를 입력하여 해당 인스턴스의 ID를 얻을 수 있습니다. 반환된 ID는 변수에 저장할 수 있습니다.
문법
instance_id_get(index);
매개변수
| 매개변수 | 타입 | 설명 |
|---|---|---|
| index | Real | 인스턴스 목록 내의 인덱스 (0 부터 인스턴스 개수 - 1까지) |
반환 값
- 타입: Object Instance
- 설명: 요청한 인스턴스의 ID
예제 코드
아래의 예제 코드는 방 내 모든 인스턴스를 반복하여 각각의 속도를 0.1만큼 증가시킵니다.
for (var i = 0; i < instance_count; ++i) {
var temp_id = instance_id_get(i);
with (temp_id) {
speed += 0.1;
}
}
활용 및 응용 예제
1. 모든 인스턴스의 위치 변경하기
모든 인스턴스의 위치를 무작위로 변경하고 싶다면 다음과 같은 코드를 사용할 수 있습니다.
for (var i = 0; i < instance_count; ++i) {
var temp_id = instance_id_get(i);
with (temp_id) {
x = random(room_width);
y = random(room_height);
}
}
2. 특정 조건의 인스턴스만 조작하기
인스턴스 중 특정 조건을 만족하는 인스턴스의 속도를 증가시키는 방법입니다.
for (var i = 0; i < instance_count; ++i) {
var temp_id = instance_id_get(i);
with (temp_id) {
if (health < 50) { // health가 50 이하인 인스턴스만
speed += 0.5;
}
}
}
3. 인스턴스 상태 출력하기
모든 인스턴스의 상태를 출력하는 예제입니다.
for (var i = 0; i < instance_count; ++i) {
var temp_id = instance_id_get(i);
with (temp_id) {
show_message("ID: " + string(id) + " Speed: " + string(speed));
}
}
이 문서에서는 instance_id_get 함수의 사용법과 여러 응용 예제들을 소개했습니다. 이를 통해 GML에서 인스턴스를 효과적으로 관리하고 조작하는 방법을 배우실 수 있습니다.