인스턴스 생성 함수 (`instance_create_depth`) 설명서


이 문서에서는 GameMaker에서 사용하는 `instance_create_depth` 함수를 쉽게 설명하고 예제를 제공합니다. 이 함수는 특정 객체의 새 인스턴스를 방 안의 주어진 지점에 생성하고, 지정된 깊이(depth)로 배치합니다.

## 함수 개요

### 함수 설명
- **`instance_create_depth`** 함수를 사용하여 주어진 좌표 `(x, y)`에서 특정 객체의 인스턴스를 생성합니다.
- 깊이(depth)는 임의의 값으로 설정할 수 있으며, 깊이가 낮을수록 카메라에 더 가깝게 보이고, 깊이가 높을수록 멀리 떨어져 있게 됩니다. 예를 들어, 깊이 `-200`의 인스턴스는 깊이 `+300`의 인스턴스 위에 그려집니다.

### 방 레이어
- 이 함수는 인스턴스를 위한 방 레이어를 생성합니다. 모든 인스턴스는 방 안의 레이어에 있어야 하며, 이 레이어는 GameMaker에 의해 자동으로 생성된 것입니다. 이 레이어에 접근할 수 없으며, `layer_instance` 변수는 `-1`을 반환합니다.

### 주의사항
- 방 변경 함수를 같은 이벤트에서 호출한 후 이 함수를 호출하면 다르게 작동합니다. 이는 `room_goto` 함수 관련 문서에서 자세한 내용을 확인할 수 있습니다.
- 이 함수는 새 인스턴스의 ID를 반환하며, 이 ID는 변수를 저장하거나 인스턴스에 접근하는 데 사용됩니다.
- 인스턴스가 생성되기 전에 변수 정의가 설정되고 나서, 인스턴스의 Create 이벤트가 실행됩니다.

## 문법

instance_create_depth(x, y, depth, obj, [var_struct]);


### 인자 설명
|인자 이름|타입|설명|
|---|---|---|
|`x`|Real|주어진 객체의 인스턴스가 생성될 x 위치|
|`y`|Real|주어진 객체의 인스턴스가 생성될 y 위치|
|`depth`|Real|생성된 인스턴스에 지정할 깊이|
|`obj`|Object Asset|생성할 인스턴스의 객체 인덱스|
|`var_struct`|Struct|새 인스턴스에 할당할 변수를 포함하는 구조체 (옵션)|

## 반환 값
- **객체 인스턴스 ID**

## 예제

### 예제 1: 기본 사용법
```gml
var inst = instance_create_depth(x, y, -100, obj_Bullet);
with (inst) {
    speed = other.shoot_speed;
    direction = other.image_angle;
}

위의 코드는 깊이 -100에서 obj_Bullet 객체의 새 인스턴스를 생성하고, 인스턴스 ID를 변수 inst에 저장합니다. 이후 speeddirection 값을 새 인스턴스에 할당합니다.

예제 2: 구조체를 사용한 변수 할당

var inst = instance_create_depth(x, y, -100, obj_bullet, {speed: shoot_speed, direction: image_angle});

위 코드는 obj_bullet 인스턴스를 생성하고, 마지막 인자로 구조체를 전달합니다. 이 구조체는 속도와 방향을 지정하며, 호출 인스턴스에서 값을 가져옵니다. 이 변수는 Create 이벤트가 실행되기 전에 새 인스턴스에 적용됩니다.

예제 3: 복잡한 구조체 할당

// 구조체를 생성하고 사용
var bulletProperties = {speed: 10, direction: 45};
var inst = instance_create_depth(x, y, -100, obj_Bullet, bulletProperties);

위의 예제는 미리 정의된 구조체 bulletProperties를 사용하여 인스턴스 속성을 설정합니다.

결론

instance_create_depth 함수는 인스턴스를 생성할 때 깊이와 개인화된 속성을 동시에 설정할 수 있는 강력한 도구입니다. 다양한 방법으로 활용할 수 있으며, 게임의 동작을 유연하게 조정하는 데 큰 도움이 됩니다. ```

Read more

기술 문서 해설 및 활용 예제

이 문서는 특정 기술에 대한 설명과 활용 방법을 다룹니다. 아래에서 내용을 쉽게 이해할 수 있도록 해설하고, 다양한 활용 및 응용 예제를 추가로 제공합니다. 기술 개요 이 기술은 게임 개발에서 자주 사용되는 기능으로, 특정 작업을 자동화하거나 효율적으로 처리하는 데 도움을 줍니다. 주로 게임의 로직을 구성하거나 사용자 인터페이스를 제어하는 데 사용됩니다. 주요

By 이재협/실장/시스템개발실/PHYSIA

키워드 설명서

이 문서는 특정 키워드에 대한 설명과 사용법을 제공합니다. 문법 (arguments); 인수 인수 이름 유형 설명 argument_name 인수에 대한 설명을 여기에 작성합니다. 반환값 (선택적 설명) 예제 code_example() { // 여기에 코드 예제를 설명합니다. } 코드 예제 설명 위의 코드 예제는 특정 기능을 수행하는 함수의 기본 구조를 보여줍니다. 이 함수는 인수를 받아들이고, 특정

By 이재협/실장/시스템개발실/PHYSIA

GameMaker 환경 설정 및 기능

이 문서에서는 GameMaker의 환경 설정 및 다양한 IDE 기능에 대한 정보를 제공합니다. 다음은 주요 항목들입니다: IDE 환경 설정 IDE(통합 개발 환경) 설정은 GameMaker의 전반적인 사용 경험을 조정하는 데 도움을 줍니다. 여기서 사용자는 개인의 필요에 맞게 다양한 옵션을 설정할 수 있습니다. 주요 설정 항목 설정 항목 설명 테마 IDE의 색상

By 이재협/실장/시스템개발실/PHYSIA

GameMaker IDE 설명서

GameMaker IDE는 게임을 만들고 소프트웨어에서 제공하는 모든 기능을 활용하는 주요 인터페이스입니다. 이 프로그램은 시작 화면부터 게임을 만들기 위해 사용하는 모든 편집기 창까지 포함되며, 매뉴얼과 다양한 튜토리얼에서 IDE라고 언급됩니다. IDE의 구성 요소 다음 섹션에서는 IDE에 대한 정보를 다룹니다: 1. 설정 및 기능 IDE의 설정 및 기능은 사용자가 게임 개발을 보다 효율적으로

By 이재협/실장/시스템개발실/PHYSIA