Я пишу простую игру. У меня ошибка из-за того, что я не могу понять, каковы причины.
В коде я пишу это:
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;
}
Я не думаю, что есть более подходящий код.
Ваши массивы могут содержать 4 изображения, но вы записываете в них 5, которые перезаписывают все, что будет после этого.
Других решений пока нет …