Я использую SDL2.У меня есть SDL-ссылки в спрайтовом классе, к которым я хочу получить доступ в main для функции SDL_Render_copy()
, но я продолжаю получать эту ошибку:
не может преобразовать 'SDL_Rect' в 'const SDL_Rect *' дляаргумент '3' в 'int SDL_RenderCopy (SDL_Renderer *, SDL_Texture *, const SDL_Rect *, const SDL_Rect *)'
Внутри моего класса спрайтов выглядит так:
Sprite::Sprite()
{
//sprite clips
gSpriteClips[0].h = 128;
gSpriteClips[0].w = 128;
gSpriteClips[0].x = 16;
gSpriteClips[0].y = 144;
}
SDL_Rect Sprite::getSpriteClip(int x)
{
return gSpriteClips[x];
}
И в основном у меня есть это:
SDL_RenderCopy( system.getRenderer(), system.getFullSpriteTexture(), sprite.getSpriteClip(0), &dest);
Я навсегда повозился с этой ошибкой, но я могу только заставить ее работать так, как показано ниже - но я бы предпочел добиться этого без этого дополнительногострока кода:
SDL_Rect newrect = sprite.getSpriteClip(0);
SDL_RenderCopy( system.getRenderer(), system.getFullSpriteTexture(), &newrect, &dest);