Здравствуйте, уважаемые форумчане. Поиск по интернету не дал результатов, а очень гордые люди на StackOverflow, мне не ответили. Вот, собственно, в чем вопрос: в SDL я пытаюсь создать персонажа, который будет менять свой спрайт. Для этого я использую функцию SDL_RenderCopy. С SDL_Rect работает все отлично, а с SDL_Rect[], то есть с массивом, ну никак. Вот мой отрывок кода:
Код
SDL_RenderCopy(renderer, texture, &spritesCoords[spriteIndex], &sprPos);
А вот что пишет мне Visual Studio:
Код
Error 1 error C2664: 'int SDL_RenderCopy(SDL_Renderer *,SDL_Texture *,const SDL_Rect *,const SDL_Rect *)' : cannot convert argument 3 from 'SDL_Rect **' to 'const SDL_Rect *' c:\users\kushnirenko\documents\visual studio 2013\projects\sdl_project\sdl_project\main.cpp 96 1 SDL_Project
Код
2 IntelliSense: argument of type "SDL_Rect **" is incompatible with parameter of type "const SDL_Rect *" c:\Users\kushnirenko\Documents\Visual Studio 2013\Projects\SDL_Project\SDL_Project\main.cpp 96 37 SDL_Project
Буду признателен за ответ или совет.
Добавлено (05 января 2015, 23:59)
---------------------------------------------
В общем я сам разобрался. Вот собственно решение:
Код
SDL_Rect left = { sprite * 32, 32, 32, 32 }; // Задаем наши данные массива
SDL_Rect right = { sprite * 32, 64, 32, 32 };
SDL_Rect up = { sprite * 32, 96, 32, 32 };
SDL_Rect down = { sprite * 32, 0, 32, 32 };
sprPos = { 10, 10, 32, 32 };
spritesCoords[0] = left; // назначаем их в массив
spritesCoords[1] = right;
spritesCoords[2] = up;
spritesCoords[3] = down;
sprFrame = spritesCoords[spriteIndex]; // используем их
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, texture, &sprFrame, &sprPos); // profit