I am a noob to linux, c++ and sdl2. I a trying to write a game. I am starting with a scrolling background. I got the code of google gemini. When I run it I just get a transparent window instead of a scrolling background. can someone please show me how to fix this?
I have:
#include<SDL2/SDL.h>
#include<SDL2/SDL_image.h>
#include
int main(int argc, char* argv){
SDL_Init(SDL_INIT_VIDEO);
IMG_Init(IMG_INIT_PNG);
SDL_Window* window = SDL_CreateWindow(“Scrolling background”, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,800,600,0);
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
SDL_Texture* texture = IMG_LoadTexture(renderer,“spacebackground.png”);
int texW = 0, texH = 0;
SDL_QueryTexture(texture, NULL, NULL, &texW, &texH);
SDL_Rect destRect = {800,200,texW,texH};
int scrollSpeed = 5;
bool quit = false;
SDL_Event e;
while(!quit)
{
while(SDL_PollEvent(&e))
if(e.type ==SDL_QUIT) quit = true;
}
destRect.x -= scrollSpeed;
if(destRect.x + destRect.w < 0)
{
destRect.x = 800;
}
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer,texture,NULL,&destRect);
SDL_RenderPresent(renderer);
SDL_DestroyTexture(texture);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
IMG_Quit();
SDL_Quit();
return 0;
}
Thanks