배열 (Arrays)


배열은 여러 값을 한 개의 변수에 "리스트" 형태로 저장할 수 있는 데이터 타입입니다. 게임 제작에 매우 유용하며 필수적인 요소입니다. 다음은 배열의 기본 예시입니다:

```gml
numbers = [0, 1, 2, 3, 4, 5];
fruits = ["Apples", "Oranges", "Mangoes"];

위 코드에서 배열은 변수에 저장되며, 이후에는 [ ] 괄호 안에 정수 인덱스를 입력하여 값에 접근할 수 있습니다:

first_fruit = fruits[0];
second_fruit = fruits[1];

1차원 배열 (1-Dimensional Arrays)

배열의 기본 구조는 다음과 같습니다:

var _val = a[0];
show_debug_message(_val);

위 코드는 배열 a의 0번째 위치에 있는 값을 콘솔에 출력합니다. 배열의 인덱스는 항상 0에서 시작하며 음수는 사용할 수 없습니다.

배열 생성 (Creating Arrays)

배열을 사용하기 전에 초기화해야 합니다. 초기화는 배열의 각 슬롯에 초기 값을 지정하는 과정입니다. 다음은 반복 루프를 사용한 배열 초기화 예시입니다:

var i = 9;
repeat(10) {
    array[i] = 0;
    i -= 1;
}

이 코드는 10개의 슬롯을 가진 배열을 생성하며, 각 슬롯에는 0이 초기화됩니다.

배열의 범위 (Array Bounds)

유효한 배열 위치에만 접근해야 하며, 유효하지 않은 위치에 접근하면 오류가 발생합니다:

my_array = array_create(5, 0);
var _val = my_array[6]; // 오류 발생

위 코드에서 배열의 크기는 5이므로 6번째 위치에 접근하면 오류가 발생합니다.

배열 사용 (Using Arrays)

배열은 일반 변수처럼 사용할 수 있습니다. 다음은 배열 값을 합산하는 예시입니다:

var _total = 0;
for (var i = 0; i < 10; ++i) {
    _total += array[i];
    draw_text(32, 32 + (i * 32), array[i]);
}
draw_text(32, 32 + (i * 32), _total);

위 코드는 배열의 모든 값을 더하고, 각 값을 화면에 그린 뒤 최종 합계를 출력합니다.

배열 삭제 (Deleting Arrays)

참조가 없는 배열은 자동으로 가비지 컬렉터에 의해 삭제됩니다. 배열을 삭제하려면 다음과 같이 설정합니다:

a = undefined;

다차원 배열 (Multi-Dimensional Arrays)

GameMaker에서는 다차원 배열을 지원합니다. 2차원 배열의 예시는 다음과 같습니다:

array[0][0] = 5; // 2D 배열

배열 초기화 예시

2D 배열을 사용하여 적을 생성할 수 있습니다:

enemy[3][2] = 448;       // y 위치
enemy[3][1] = 32;        // x 위치
enemy[3][0] = obj_Slime; // 객체

이후에는 랜덤한 적을 생성하는 코드를 사용할 수 있습니다:

var i = irandom(3);
instance_create_layer(enemy[i][1], enemy[i][2], "Enemy_Layer", enemy[i][0]);

함수의 배열 인자 (Arrays as Function Arguments)

배열을 함수에 인자로 전달하여 변경할 수 있습니다:

modify_array = function(array) {
    array[0] = 2;
    array[1] = 4;
    array[2] = 6;
};
my_array = [100, 4, 214];
modify_array(my_array);
show_debug_message(my_array); // [2, 4, 6] 출력

요약

배열은 간편하게 여러 데이터를 저장하고 관리할 수 있는 유용한 도구입니다. 배열을 잘 활용하면 코드의 효율성과 가독성을 높일 수 있습니다.

추가 예제

예제 번호 예제 내용
1 배열을 사용한 점수 기록: 각 플레이어의 점수를 배열에 저장.
2 여러 NPC의 위치 정보를 2D 배열에 저장하여 관리.
3 제품 목록을 배열로 저장하고, 사용자에게 특정 제품의 정보를 제공하는 예제.

배열을 이해하고 활용하는 것은 게임 개발에 중요한 기술이므로 충분히 연습하길 바랍니다! ```

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