#include "sdl/sdl.h"
const int WINDOW_WIDTH = 640;
const int WINDOW_HEIGHT = 480;
const char* WINDOW_TITLE = "Le Shoot Em Up";
void drawSprite(SDL_Surface* imageSurface,
SDL_Surface* screenSurface,
int srcX, int srcY,
int dstX, int dstY,
int width, int height);
int main(int argc, char **argv)
{
SDL_Init( SDL_INIT_VIDEO );
SDL_Surface* screen = SDL_SetVideoMode( WINDOW_WIDTH, WINDOW_HEIGHT, 0,
SDL_HWSURFACE | SDL_DOUBLEBUF );
SDL_WM_SetCaption( WINDOW_TITLE, 0 );
SDL_Surface* bitmap = SDL_LoadBMP("sprite.bmp");
SDL_SetColorKey(bitmap, SDL_SRCCOLORKEY, SDL_MapRGB(bitmap->format, 200, 0, 200));
int spriteImageX = 24;
int spriteImageY = 63;
int spriteWidth = 100;
int spriteHeight = 100;
int spriteX = 50;
int spriteY = 50;
SDL_Event event;
bool gameRunning = true;
bool keysHeld[323] = {false}; // everything will be initialized to false
while (gameRunning)
{
// Handle input
if (SDL_PollEvent(&event))
{
if (event.type == SDL_QUIT)
{
gameRunning = false;
}
if (event.type == SDL_KEYDOWN)
{
keysHeld[event.key.keysym.sym] = true;
}
if (event.type == SDL_KEYUP)
{
keysHeld[event.key.keysym.sym] = false;
}
}
if ( keysHeld[SDLK_ESCAPE] )
{
gameRunning = false;
}
if ( keysHeld[SDLK_LEFT] )
{
spriteX -= 1;
}
if ( keysHeld[SDLK_RIGHT] )
{
spriteX += 1;
}
if ( keysHeld[SDLK_UP] )
{
spriteY -= 1;
}
if (keysHeld[SDLK_DOWN])
{
spriteY += 1;
}
// Draw the scene
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
drawSprite(bitmap,
screen,
spriteImageX, spriteImageY,
spriteX, spriteY,
spriteWidth, spriteHeight);
SDL_Flip(screen);
}
SDL_FreeSurface(bitmap);
SDL_Quit();
return 0;
}
void drawSprite(SDL_Surface* imageSurface,
SDL_Surface* screenSurface,
int srcX, int srcY,
int dstX, int dstY,
int width, int height)
{
SDL_Rect srcRect;
srcRect.x = srcX;
srcRect.y = srcY;
srcRect.w = width;
srcRect.h = height;
SDL_Rect dstRect;
dstRect.x = dstX;
dstRect.y = dstY;
dstRect.w = width;
dstRect.h = height;
SDL_BlitSurface(imageSurface, &srcRect, screenSurface, &dstRect);
}
thanks
This post has been edited by Tom_Leonardsson: 25 April 2012 - 04:11 AM

New Topic/Question
Reply




MultiQuote








|