Sprite 추가 함수 설명
sprite_add 함수는 외부 소스에서 이미지를 스프라이트로 추가하는 기능을 제공합니다. 로드할 이미지 파일은 반드시 .png, .gif, .jpg/jpeg 또는 .json 형식이어야 합니다. 이 함수는 새로운 스프라이트 핸들을 반환하며, 이후 모든 스프라이트 관련 코드에서 이 핸들을 사용해야 합니다.
주요 기능
- 비동기 이미지 로드: HTML5에서 사용하거나 URL에서 이미지를 가져오는 경우, 이 함수는
Image Loaded비동기 이벤트를 생성합니다. - 애니메이션 스프라이트: 애니메이션 스프라이트로 변환할 모든 이미지는 스트립 형식이어야 하며,
imgnum인수에 지정된 수의 서브 이미지로 분할됩니다. - 배경 제거:
removeback이 활성화되면 소스 이미지의 알파 채널이 무시되고, 이미지의 왼쪽 아래 픽셀 색상이 "배경 색상"으로 사용됩니다. 이 색상과 일치하는 모든 픽셀은 투명하게 처리됩니다. - 스프라이트의 원점 설정: 스프라이트의 x, y 원점을 지정할 수 있으며, 이는 스프라이트가 사용하는 인스턴스에 "고정"되는 지점을 나타냅니다.
인수 설명
| 인수 이름 | 타입 | 설명 |
|---|---|---|
| fname | String | 추가할 파일의 이름 (파일 경로) |
| imgnum | Real | 서브 이미지의 수를 나타냄 (단일 이미지 또는 *.gif의 경우 1) |
| removeback | Boolean | 배경 색상(왼쪽 아래 픽셀)과 일치하는 모든 픽셀을 투명하게 할지 여부 |
| smooth | Boolean | 투명한 가장자리를 부드럽게 할지 여부 |
| xorig | Real | 스프라이트의 원점 x 위치 |
| yorig | Real | 스프라이트의 원점 y 위치 |
반환 값
- 스프라이트 자산 핸들
예제 코드
spr = sprite_add("player_5.png", 16, false, false, 0, 0);
위 코드는 게임에 스프라이트를 로드하고 그 인덱스를 변수 spr에 저장합니다.
추가 활용 예제
- GIF 이미지 추가
spr_gif = sprite_add("animation.gif", 1, false, false, 0, 0);
- 배경 제거 및 가장자리 부드럽게 하기
spr_smooth = sprite_add("character.png", 16, true, true, 8, 8);
- JSON 파일로 스프라이트 추가
spr_json = sprite_add("animation.json", 1, false, false, 0, 0);
- 서브 이미지 수 조정
spr_strip = sprite_add("tileset.png", 32, false, false, 0, 0);
- 스프라이트 삭제
sprite_delete(spr);
이 문서에서는 sprite_add 함수의 사용법과 다양한 활용 예제를 설명했습니다.