Seek Buffer 사용법
이 문서는 Seek Buffer 액션을 사용하여 버퍼 내에서 특정 위치로 이동하는 방법에 대해 설명합니다. 이 액션은 Create Buffer 액션을 통해 반환된 고유한 버퍼 ID 값과 이동할 바이트 단위의 오프셋 값을 입력받습니다.
기본 사용법
오프셋 값은 버퍼의 시작 위치에서부터 적용되며, 이 함수를 호출하면 읽기/쓰기 위치가 버퍼의 시작으로 이동한 다음, 주어진 바이트 수만큼 이동하여 새로운 읽기/쓰기 위치에 설정됩니다. 만약 오프셋을 상대적으로 설정하면 현재 위치에서 앞으로(또는 부정적 값일 경우 뒤로) 이동합니다.
액션 구문
Seek Buffer(buffer, offset);
인수 설명
| 인수 | 설명 |
|---|---|
| buffer | 버퍼 인덱스(변수에 저장) |
| offset | 현재 탐색 위치에 대한 오프셋(바이트 단위) |
예제
버퍼의 크기를 구한 후, 현재 저장된 데이터의 끝으로 읽기/쓰기 위치를 설정하는 코드입니다.
var bufferSize = Get Buffer Size(buffer);
Seek Buffer(buffer, bufferSize);
다양한 활용 및 응용 예제
- 버퍼의 시작으로 이동하기
- 데이터 전송 시, 버퍼의 가장 처음 상태로 돌아가고 싶을 때 사용할 수 있습니다.
gml Seek Buffer(buffer, 0); - 현재 위치에서 특정 위치로 상대적으로 이동
- 현재 위치에서 10 바이트 앞으로 이동합니다.
gml Seek Buffer(buffer, 10); // 현재 위치에서 10 바이트 앞으로 이동 - 현재 위치에서 5 바이트 뒤로 이동하기
- 이전 데이터에 접근해야 할 경우 유용합니다.
gml Seek Buffer(buffer, -5); // 현재 위치에서 5 바이트 뒤로 이동 - 버퍼의 중간 지점에 접근하기
- 예를 들어, 버퍼 크기의 절반으로 피벗하는 경우, 다음과 같이 작성할 수 있습니다.
gml var halfSize = Get Buffer Size(buffer) / 2; Seek Buffer(buffer, halfSize);
이렇게 Seek Buffer를 활용하면, 데이터 처리가 훨씬 원활해지고 효율적으로 작업할 수 있습니다.