Воскресенье, 19 Сентября 2021, 23:39

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » SDL_RenderCopy не работает с массивом [РЕШЕНО]
SDL_RenderCopy не работает с массивом [РЕШЕНО]
kushnirenkoДата: Понедельник, 05 Января 2015, 23:59 | Сообщение # 1
был не раз
Сейчас нет на сайте
Здравствуйте, уважаемые форумчане. Поиск по интернету не дал результатов, а очень гордые люди на 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


Сообщение отредактировал kushnirenko - Вторник, 06 Января 2015, 00:00
Форум игроделов » Программирование » C/C++ » SDL_RenderCopy не работает с массивом [РЕШЕНО]
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2021 Рейтинг