Hello,
I started with SDL by creating a simple 2D game and wanted to move an enemy randomly,
I managed to move the enemy on a simple screen but I was unable to move it on a scrolling screen.
And here is the code that allows to move the enemy on a simple screen:
int main (int argc,char *args[])
{int xvel=30;
int yvel=10;
SDL_Surface *screen=NULL;
SDL_Surface *back=NULL;
SDL_Surface *ennemi=NULL;
SDL_Event event;
SDL_Rect offset,offsetennemi;
SDL_Init(SDL_INIT_VIDEO);
back = IMG_Load("back.jpg");
ennemi = IMG_Load("en.png");
screen = SDL_SetVideoMode(740,580,16,SDL_HWSURFACE | SDL_DOUBLEBUF);
SDL_WM_SetCaption("jeu",NULL);
offset.x=0;
offset.y=0;
offsetennemi.x=0;
offsetennemi.y=0;
SDL_BlitSurface(back,NULL,screen,&offset);
SDL_BlitSurface(ennemi,NULL,screen,&offsetennemi);
SDL_Flip( screen );
while(1)
{
SDL_BlitSurface(back,NULL,screen,&offset);
offsetennemi.x+=xvel;
SDL_BlitSurface(ennemi,NULL,screen,&offsetennemi);
SDL_Flip( screen );
SDL_Delay(1000);
SDL_BlitSurface(back,NULL,screen,&offset);
offsetennemi.x+=xvel;
SDL_BlitSurface(ennemi,NULL,screen,&offsetennemi);
SDL_Flip( screen );
SDL_Delay(1000);
SDL_BlitSurface(back,NULL,screen,&offset);
offsetennemi.x+=xvel;
SDL_BlitSurface(ennemi,NULL,screen,&offsetennemi);
SDL_Flip( screen );
SDL_Delay(1000);
SDL_BlitSurface(back,NULL,screen,&offset);
offsetennemi.x-=xvel;
SDL_BlitSurface(ennemi,NULL,screen,&offsetennemi);
SDL_Flip( screen );
SDL_Delay(1000);
SDL_BlitSurface(back,NULL,screen,&offset);
offsetennemi.x-=xvel;
SDL_BlitSurface(ennemi,NULL,screen,&offsetennemi);
SDL_Flip( screen );
SDL_Delay(1000);
SDL_BlitSurface(back,NULL,screen,&offset);
offsetennemi.x-=xvel;
SDL_BlitSurface(ennemi,NULL,screen,&offsetennemi);
SDL_Flip( screen );
SDL_Delay(1000);
}
return 0;
}