읽기 전용 변수: instance_id
이 문서는 id라는 읽기 전용 변수가 인스턴스를 고유하게 식별하는 방법에 대해 설명합니다.
기본 개념
각 인스턴스를 생성할 때, 생성 코드 및 Room Editor를 통해 추가하는 모든 인스턴스는 고유한 핸들을 부여받습니다. 이 핸들은 내부적으로 인스턴스를 식별하는 데 사용됩니다. id 변수는 이 인스턴스를 참조하는 데 사용됩니다.
id는instance_create_layer()또는instance_create_depth()와 같은 인스턴스 생성 함수 사용 시 반환되며, 변수에 저장할 수도 있습니다.- 이 값은 Room Editor에서 주어진 식별자와는 다릅니다.
문법
id;
반환값
- Object Instance: 현재 인스턴스를 나타내는 식별자
예제 코드
아래의 코드는 인스턴스가 활성화된 모든 인스턴스에 대해 특정 변수를 증가시키는 방법을 보여줍니다.
for (var i = 0; i < instance_count; i++) {
if (instance_id[i] != id) {
instance_id[i].scr += 5;
}
}
위 코드에서는 현재 코드가 실행되는 인스턴스를 제외한 모든 활성 인스턴스의 scr 변수에 5를 더합니다. 이 과정은 모든 활성 인스턴스를 instance_id 배열을 통해 탐색한 후, 현재 인스턴스의 id와 비교하여 진행됩니다.
활용 예제
아래는 id 변수를 활용하여 다양한 동작을 수행하는 예제입니다.
1. 특정 인스턴스에만 작업하기
for (var i = 0; i < instance_count; i++) {
if (instance_id[i] != id && instance_id[i].type == "enemy") {
instance_id[i].health -= 10;
}
}
이 코드는 현재 인스턴스가 아닌 적 타입의 모든 인스턴스의 체력을 10 감소시킵니다.
2. 인스턴스 간의 상호작용
for (var i = 0; i < instance_count; i++) {
if (instance_id[i] != id && distance_to_object(instance_id[i]) < 50) {
instance_id[i].speed += 1;
}
}
이 코드는 현재 인스턴스와 가까운 모든 인스턴스의 속도를 1 증가시킵니다.
| 변수 | 설명 |
|---|---|
| id | 현재 인스턴스를 식별하는 고유 핸들입니다. |
| instance_count | 현재 방에 활성화된 인스턴스의 수입니다. |
| instance_id[] | 활성 인스턴스의 ID 목록입니다. |
| scr | 특정 변수를 의미하며, 각 인스턴스에 대해 단순히 예시로 사용됩니다. |
| health | 적의 체력을 나타내는 변수입니다. |
| speed | 인스턴스의 이동 속도를 나타내는 변수입니다. |
이 문서를 통해 id 변수를 활용한 인스턴스 관리 및 조작 방법에 대해 이해할 수 있습니다. 추가 질문이 있으시면 언제든지 문의해 주세요!