SDL не загружает/показывает правильное изображение

Я пишу простую игру. У меня есть ошибка, которую я не могу понять, в чем причины. В коде я пишу это:

DxFrame[0] = ImageLoader("Rome/Ball_Dx/RomeDx1.png");
DxFrame[1] = ImageLoader("Rome/Ball_Dx/RomeDx2.png");
DxFrame[2] = ImageLoader("Rome/Ball_Dx/RomeDx3.png");
DxFrame[3] = ImageLoader("Rome/Ball_Dx/RomeDx4.png");
DxFrame[4] = ImageLoader("Rome/Ball_Dx/RomeDx5.png");

SxFrame[0] = ImageLoader("Rome/Ball_Sx/RomeSx1.png");
SxFrame[1] = ImageLoader("Rome/Ball_Sx/RomeSx2.png");
SxFrame[2] = ImageLoader("Rome/Ball_Sx/RomeSx3.png");
SxFrame[3] = ImageLoader("Rome/Ball_Sx/RomeSx4.png");
SxFrame[4] = ImageLoader("Rome/Ball_Sx/RomeSx5.png");

Но когда я компилирую в мониторе DxFrame[4], это не то, что должно быть. Фактически он стал SxFrame[0]. Я не могу понять, почему это происходит.

Изменить. Это загрузчик изображений:

        SDL_Surface* ImageLoader(string Image) {

        SDL_Surface* LoadedImage    = NULL;

        SDL_Surface* OptimizedImage = NULL;

        LoadedImage = IMG_Load(Image.c_str());

        OptimizedImage = SDL_DisplayFormat(LoadedImage);

        SDL_FreeSurface(LoadedImage);

        return OptimizedImage;
        }

Я не думаю, что есть более актуальный код.


person EnryFan    schedule 30.03.2013    source источник
comment
Пожалуйста, будьте более конкретными и разместите соответствующий код, никто не будет читать весь исходный код.   -  person    schedule 31.03.2013


Ответы (1)


Ваши массивы могут содержать 4 изображения, но вы записываете в них 5, которые перезаписывают все, что идет после него.

person Moozle    schedule 30.03.2013