sprite_save_strip 함수 설명
sprite_save_strip 함수는 스프라이트의 모든 서브 이미지를 하나의 스트립 이미지로 만들어 지정된 파일 이름으로 디스크에 저장합니다. 이 함수는 런타임에 추가된 스프라이트에 대해서만 사용할 수 있으며, IDE를 통해 추가된 스프라이트는 저장할 수 없습니다. 저장할 파일은 반드시 .png 확장자를 가져야 합니다.
문법
sprite_save_strip(ind, filename);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| ind | Sprite Asset | 저장할 스프라이트의 인덱스 |
| filename | String | 저장할 스프라이트 스트립의 파일 이름 |
반환 값
- N/A
예제 코드
var spr, i;
spr = sprite_create_from_surface(0, 0, 32, 32, true, true, 16, 16);
for (i = 1; i < 8; i += 1) {
sprite_add_from_surface(spr, i, 0, 32, 32, true, true, 16, 16);
}
sprite_save_strip(spr, "Custom_Player_Sprite.png");
sprite_delete(spr);
위의 코드는 변수 "surf"에 인덱스된 서페이스에서 스프라이트를 생성하고, 그 인덱스를 로컬 변수 "spr_Custom"에 할당합니다. 이후 for 루프를 사용하여 서페이스를 이동하며 다양한 섹션을 캡처하여 서브 이미지로 스프라이트에 추가합니다. 이 새로운 스프라이트는 PNG 스트립으로 저장된 후 메모리에서 제거됩니다.
활용 예제
예제 1: 여러 스프라이트를 하나의 스트립으로 저장하기
var spr1, spr2, combined_spr;
spr1 = sprite_create_from_surface(0, 0, 32, 32, true, true, 16, 16);
spr2 = sprite_create_from_surface(32, 0, 32, 32, true, true, 16, 16);
combined_spr = sprite_add_from_surface(spr1, spr2, 0, 0, true, true, 16, 16);
sprite_save_strip(combined_spr, "Combined_Sprites.png");
sprite_delete(spr1);
sprite_delete(spr2);
sprite_delete(combined_spr);
예제 2: 애니메이션 스프라이트 스트립 만들기
var anim_spr;
anim_spr = sprite_create_from_surface(0, 0, 64, 64, true, true, 32, 32);
for (var j = 0; j < 4; j++) {
sprite_add_from_surface(anim_spr, j, 0, 64, 64, true, true, 32, 32);
}
sprite_save_strip(anim_spr, "Animation_Sprite.png");
sprite_delete(anim_spr);
예제 3: 사용자 정의 캐릭터 스프라이트 저장하기
var player_spr;
player_spr = sprite_create_from_surface(0, 0, 48, 48, true, true, 24, 24);
for (var k = 0; k < 6; k++) {
sprite_add_from_surface(player_spr, k, 0, 48, 48, true, true, 24, 24);
}
sprite_save_strip(player_spr, "Player_Custom_Sprite.png");
sprite_delete(player_spr);
이 예제들은 sprite_save_strip 함수를 활용하여 다양한 스프라이트를 생성하고 저장하는 방법을 보여줍니다.