buffer_poke 함수 설명
buffer_poke
함수는 지정된 오프셋에 데이터를 버퍼에 기록할 수 있게 해줍니다. 이 함수는 현재의 탐색 위치를 변경하지 않으며, 이는 buffer_write
와 다릅니다. buffer_write
는 현재 탐색 위치를 오프셋으로 사용하고, 기록된 바이트 수만큼 탐색 위치를 이동시킵니다.
함수 문법
buffer_poke(buffer, offset, type, value);
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
buffer | Buffer | 사용할 버퍼입니다. |
offset | Real | 버퍼 내에서 데이터를 기록할 오프셋 위치(바이트 단위)입니다. |
type | Buffer Data Type Constant | 버퍼에 기록할 데이터의 타입입니다. (상수 목록 참조) |
value | Any | 지정된 타입에 따라 버퍼에 추가할 데이터입니다. |
반환값
- N/A
활용 예제
- 버퍼에 색상 값 추가하기
gml buffer_poke(buff, 3, buffer_u8, colour_get_blue(image_blend));
위 코드는 호출 인스턴스의image_blend
색상에서 파란색 구성 요소 값을 가져와, 변수buff
에 저장된 버퍼의 세 번째 위치에 부호 없는 8비트 값으로 추가합니다. - 정수 값 기록하기
gml var myValue = 42; buffer_poke(buff, 0, buffer_i32, myValue);
이 코드는 정수 값42
를 버퍼의 첫 번째 위치에 32비트 정수로 기록합니다. - 부동 소수점 값 기록하기
gml var floatValue = 3.14; buffer_poke(buff, 4, buffer_f32, floatValue);
위 코드는 부동 소수점 값3.14
를 버퍼의 다섯 번째 위치에 32비트 부동 소수점으로 기록합니다. - 문자열 데이터 기록하기
gml var myString = "Hello"; buffer_poke(buff, 8, buffer_string, myString);
이 코드는 문자열"Hello"
를 버퍼의 아홉 번째 위치에 기록합니다. - 다양한 데이터 타입 기록하기
gml buffer_poke(buff, 12, buffer_u8, 255); buffer_poke(buff, 16, buffer_i16, -32768); buffer_poke(buff, 20, buffer_f64, 123.456);
위 코드는 각각 부호 없는 8비트 값255
, 부호 있는 16비트 값-32768
, 그리고 64비트 부동 소수점 값123.456
을 버퍼의 특정 위치에 기록합니다.