Write Buffer 매뉴얼
이 문서에서는 Write Buffer 액션에 대해 설명하고, 다양한 활용 및 응용 예제를 추가로 제공하겠습니다.
개요
Write Buffer 액션은 특정 버퍼에 데이터를 쓰는 기능을 제공합니다. 이때, 사용자에게는 고유한 버퍼 ID를 제공하여 그 버퍼에 값을 쓸 수 있습니다. 이 값은 실수(real) 또는 문자열(string)일 수 있지만, 모든 값은 문자열로 저장되므로, 버퍼에서 읽을 때는 다시 원래 값으로 변환해야 할 수 있습니다.
버퍼는 순차적으로 읽고 쓰기 때문에, 버퍼에 데이터를 쓰면 "seek" 위치가 하나씩 이동합니다. 따라서 다양한 데이터 조각을 쓰려면 이 액션을 필요한 만큼 호출하면 됩니다.
액션 문법
인수 (Arguments)
| 인수 | 설명 |
|---|---|
| 버퍼 | 저장된 변수로, 버퍼 인덱스 |
| 값 | 버퍼에 추가할 값 |
예제
아래는 Write Buffer 액션을 사용하는 간단한 예제입니다. 이 코드는 전역 변수를 생성한 후, 버퍼를 생성하고 고유한 버퍼 ID를 변수에 할당합니다. 이후 두 개의 데이터를 버퍼에 씁니다.
// 전역 변수 선언
global.bufferID = actionCreateBuffer();
// 데이터 쓰기
WriteBuffer(global.bufferID, "Hello");
WriteBuffer(global.bufferID, "World");
활용 및 응용 예제
- 사용자 입력 저장: 사용자가 입력한 값을 버퍼에 저장할 수 있습니다.
gml var userInput = "사용자 입력 값"; WriteBuffer(global.bufferID, userInput);
- 게임 전체 상태 저장: 게임의 여러 상태를 버퍼에 저장하여 나중에 사용할 수 있습니다.
gml var playerHealth = 100; var playerScore = 5000; WriteBuffer(global.bufferID, string(playerHealth)); WriteBuffer(global.bufferID, string(playerScore));
- 다양한 데이터 유형 처리: 여러 데이터 유형을 버퍼에 저장하고 나중에 읽을 때는 타입 변환을 통해 원래 값으로 복원합니다.
gml var itemID = 1; var itemName = "Sword"; WriteBuffer(global.bufferID, string(itemID)); WriteBuffer(global.bufferID, itemName);
- 데이터 순차적 저장: 버퍼에 순차적으로 다양한 값들을 저장하고 사용자가 필요할 때 읽어올 수 있습니다.
gml var scoreArray = [100, 200, 300]; for (var i = 0; i < array_length(scoreArray); i++) { WriteBuffer(global.bufferID, string(scoreArray[i])); }
- 읽기와 변환: 버퍼에서 읽어들일 때는
Read Buffer와 타입 변환 액션을 사용합니다.
gml for (var i = 0; i < 2; i++) { var readValue = ReadBuffer(global.bufferID); var originalValue = real(readValue); // 문자열을 실수로 변환 }
이와 같은 방법으로 Write Buffer 액션을 활용하여 데이터를 저장하고 처리할 수 있습니다. 필요에 따라 다양한 데이터 처리 방식으로 확장하여 사용할 수 있습니다.