어쩌면 큰 것은 아니지만 백 프레임이나 그럴 수도 있습니다. 배열을 만들고 각 이미지를 개별적으로로드하여로드하는 유일한 방법은 무엇입니까?큰 애니메이션을로드하는 더 좋은 방법이 있습니까?
load_image()는 이미지를로드하고 해당 BPP를 변환하는 함수입니다.
expl[0] = load_image("explode1.gif");
expl[1] = load_image("explode2.gif");
expl[2] = load_image("explode3.gif");
expl[3] = load_image("explode4.gif");
...
expl[99] = load_image("explode100.gif");
더 나은 방법이어야합니다. 최소한 나는 희망합니다.
LoadAnimation(char* isFileBase, int numFrames)
{
char szFileName[255];
for(int i = 0; i < numFrames; i++)
{
// append the frame number and .gif to the file base to get the filename
sprintf(szFileName, "%s%d.gif", isFileBase, i);
expl[i] = load_image(szFileName);
}
}
프레임의 양이 꽤 큰 경우 (아마도 15 개 이상) – Skurmedel
스프라이트를 고려하고 있었지만 장기간에 가장 좋은 방법 일 수 있습니다.하지만 스프라이트를 고려하고 있었지만 여전히 최선의 방법 이었는지 확신 할 수 없었습니다. 반복하여 SDL_Surface를 자릅니다. 그래서 이것은 여전히 무언가를하는 좋은 방법입니다. 애니메이션의 50 프레임을 가정 해 봅시다. – Justen
기본적으로 애니메이션의 데이터를 반복하는 것이 있습니다. SDL_BlitSurface 함수는 이것을 매우 효율적으로 만듭니다. 이 기술은 200 개가 넘는 프레임으로 스프라이트를 블릿하는 데 사용됩니다. 더 이상 사용할 수없는 특별한 이유가 없습니다. – SingleNegationElimination