GIF 저장 함수 설명
이 문서는 GIF 애니메이션을 저장하는 gif_save
함수에 대한 설명입니다. 이 함수를 사용하면 GIF 인덱스와 파일 이름을 제공하여 GIF 파일을 저장할 수 있습니다. GameMaker에서는 .gif
파일 확장자를 자동으로 추가하지 않으므로, 파일 이름 문자열에 이 확장자를 포함해야 합니다. 생성된 GIF는 Universal 884 Palette를 사용하여 팔레타이즈됩니다.
함수 문법
gif_save(gif_index, fname);
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
gif_index | GIF ID | 저장할 GIF의 ID |
fname | String | GIF에 사용할 파일 이름 |
반환값
- 성공적으로 GIF가 저장되면 0을 반환합니다.
- 실패하면 -1을 반환합니다.
활용 예제
아래는 GIF를 저장하는 간단한 예제 코드입니다.
if (save_gif == true) {
if (count == 0) {
gif_image = gif_open(room_width, room_height);
} else if (count < 30) {
gif_add_surface(gif_image, application_surface, 6/100);
} else {
gif_save(gif_image, "GameCapture.gif");
count = 0;
save_gif = false;
}
count++;
}
이 코드는 애플리케이션 표면에서 30프레임을 가져와 GIF 이미지 파일을 생성한 후 저장합니다.
추가 활용 예제
- GIF 애니메이션 생성: 특정 게임 이벤트를 기록하여 GIF로 저장하는 방법.
gml if (event_occurred) { gif_image = gif_open(room_width, room_height); for (var i = 0; i < 30; i++) { gif_add_surface(gif_image, application_surface, 6/100); } gif_save(gif_image, "EventAnimation.gif"); }
- 게임 화면 캡처: 게임의 특정 화면을 캡처하여 GIF로 저장하는 방법.
gml if (capture_screen) { gif_image = gif_open(room_width, room_height); gif_add_surface(gif_image, application_surface, 6/100); gif_save(gif_image, "ScreenCapture.gif"); }
- 프레임 수 조정: GIF의 프레임 수를 조정하여 저장하는 방법.
gml if (save_gif) { gif_image = gif_open(room_width, room_height); for (var frame = 0; frame < desired_frame_count; frame++) { gif_add_surface(gif_image, application_surface, 6/100); } gif_save(gif_image, "CustomFrameGIF.gif"); }
이와 같은 방식으로 gif_save
함수를 활용하여 다양한 GIF 애니메이션을 생성하고 저장할 수 있습니다.