sprite_flush 함수 설명
sprite_flush 함수는 주어진 스프라이트의 텍스처 페이지를 텍스처 메모리(VRAM)에서 제거하는 기능을 제공합니다. 텍스처는 플러시된 후에도 RAM에 남아 있습니다. 이 함수를 사용하여 스프라이트를 지정하면, 해당 스프라이트에 할당된 텍스처 페이지가 텍스처 메모리에서 제거됩니다.
함수 사용법
구문
sprite_flush(ind)
매개변수
| 매개변수 | 타입 | 설명 |
|---|---|---|
| ind | Sprite Asset | 플러시할 스프라이트 자산 |
반환값
- -1: 선택한 자산에 대해 플러시가 지원되지 않을 때
- 0: 모든 작업이 정상적으로 수행되었을 때
예제
sprite_flush(spr_Player_Aura);
위 코드는 메모리에서 spr_Player_Aura 스프라이트를 플러시합니다.
활용 및 응용 예제
예제 1: 스프라이트 플러시 후 재사용
// 스프라이트 플러시
sprite_flush(spr_Player_Aura);
// 스프라이트를 다시 사용하기 위한 코드
instance_create_layer(x, y, "Instances", spr_Player_Aura);
예제 2: 플러시 지원 여부 확인
var result = sprite_flush(spr_Enemy);
if (result == -1) {
show_message("플러시가 지원되지 않습니다.");
}
예제 3: 성능 최적화
// 스프라이트 플러시 전 사용 여부 확인
if (!sprite_exists(spr_Background)) {
sprite_flush(spr_Background);
}
예제 4: 여러 스프라이트 플러시
var sprites = [spr_Player_Aura, spr_Enemy, spr_Background];
for (var i = 0; i < array_length(sprites); i++) {
sprite_flush(sprites[i]);
}
예제 5: 게임 종료 시 메모리 정리
// 게임 종료 시 모든 스프라이트 플러시
sprite_flush(spr_Player_Aura);
sprite_flush(spr_Enemy);
sprite_flush(spr_Background);
이와 같이 sprite_flush 함수를 활용하여 스프라이트의 메모리 관리를 효율적으로 수행할 수 있습니다.