스택 생성하기 (Create Stack)
이 문서는 새로운 스택 데이터 구조를 생성하고, 나중에 다른 데이터 구조 작업을 통해 접근할 수 있도록 인덱스 값을 반환하는 방법에 대해 설명합니다.
스택 생성하기
스택을 생성하면, 해당 스택에 대한 인덱스 값이 반환됩니다. 이 인덱스 값은 지정한 대상 변수에 저장됩니다. 변수는 아래 방법 중 하나로 생성할 수 있습니다:
- Assign Variable 또는 Declare Temp를 사용하여 이전에 생성
- "Temp" 체크박스를 선택하여 임시 지역 변수를 이름 짓고 생성
생성된 스택 데이터 구조는 "비어 있음"으로 간주됩니다. 즉, 항목이 없습니다. 추가적인 DS 스택을 생성하려면, 해당 작업 옆에 있는 플러스 아이콘을 클릭하고 다른 변수를 선택하여 스택 ID를 보관하면 됩니다.
중요! 데이터 구조를 생성할 때는 타겟 플랫폼의 메모리를 사용하므로, 더 이상 필요하지 않은 데이터 구조는 Free Data Structure 작업을 사용하여 해제해야 합니다. 이를 하지 않으면 메모리 누수가 발생할 수 있으며, 게임의 성능 저하나 충돌을 일으킬 수 있습니다. 특히 임시 지역 변수를 사용하여 데이터 구조 인덱스를 저장하는 경우 코드나 이벤트의 끝에서 해당 변수가 제거되지만, 데이터 구조는 제거되지 않습니다.
이 데이터 구조는 여전히 존재하지만 이를 참조할 방법이 없게 됩니다. 따라서 인스턴스 변수를 사용하여 나중에 구조를 해제하거나, 임시 변수에 인덱스가 저장된 경우 이벤트나 함수 종료 전에 구조를 해제해야 합니다.
작업 문법 / 구문
인자 (Arguments)
| 인자 | 설명 |
|---|---|
| Target | 스택 인덱스를 저장할 대상 변수 |
예시
위의 작업 블록 코드는 인스턴스 변수를 생성하고 새로운 스택 데이터 구조를 생성합니다. 스택의 인덱스는 새 변수에 저장됩니다. 이후 10개의 인스턴스를 생성하고, 이들의 고유 ID 값을 스택에 푸시하는 루프가 실행됩니다.
// 스택 변수를 생성합니다.
var stack_index = stack_create();
// 10개의 인스턴스를 스택에 추가합니다.
for (var i = 0; i < 10; i++) {
var unique_id = i; // 고유 ID 생성
stack_push(stack_index, unique_id); // 스택에 ID 푸시
}
요약
- 새로운 스택을 생성하고 관리할 수 있습니다.
- 메모리 관리를 항상 염두에 두어야 합니다.
- 예제로 10개의 ID를 스택에 추가하는 방법을 보여줍니다.
📘 참고: 다음은 데이터 구조 작업 관련 내용입니다. - 이전: 데이터 구조 작업 - 다음: 데이터 구조 지우기 (Clear Data Structure)
© Copyright YoYo Games Ltd. 2021 All Rights Reserved