Title: sfml Author: Anonymous Pastebin link: http://pastebin.com/Snb7tV4E First Edit: Sunday 1st of December 2013 01:48:28 PM CDT Last Edit: Sunday 1st of December 2013 01:48:28 PM CDT #include #include #include   using namespace std; using namespace sf;   int main() {     const int width = 800;   const int height= 600;      //Window rendering     sf::Vector2f screenDimensions(800, 600);     sf::RenderWindow window(sf::VideoMode(screenDimensions.x, screenDimensions.y), "SFML game");       window.setFramerateLimit(60);       sf::Clock frametime;       //in-game screen view        sf::View view;       view.reset(sf::FloatRect(0, 0, screenDimensions.x, screenDimensions.y));     view.setViewport(sf::FloatRect(0, 0, 1.0f, 1.0f));       sf::Vector2f position(screenDimensions.x / 2, screenDimensions.y / 2);           sf::Texture texture; if (!texture.loadFromFile("PlayerShip.png")) {     // error... }            Texture texture2;     if (!texture.loadFromFile("PlayerShip2.png")) {     // error... }        Texture bgtexture;        sf::Sprite bgsprite;       if(!bgtexture.loadFromFile("BG.png"))     {         //error     }       bgsprite.setTexture(bgtexture);     bgsprite.setScale(9.0f, (float)screenDimensions.y / bgtexture.getSize().y);       Sprite shape;     shape.setTexture(texture);     shape.setTextureRect(sf::IntRect(0, 0, 100, 83));     shape.setPosition(400.f,40.f);         RectangleShape projectile(sf::Vector2f(40., 40.f));     projectile.setFillColor(sf::Color::Black);               Font font;     if (!font.loadFromFile("HelveticaNeue-UltraLight.otf"))         return EXIT_FAILURE;        Text title("Shooter",font,50);     title.setPosition(width/2-title.getGlobalBounds().width/2,100);     title.setColor(Color::Blue);       Text start("Play",font,30);     start.setPosition(width/2-start.getGlobalBounds().width/2,200);     start.setColor(Color::Green);       Text start1("Options",font,30);     start1.setPosition(width/2-start.getGlobalBounds().width/2,300);     start1.setColor(Color::Red);       Text start2("Quit",font,30);     start2.setPosition(width/2-start.getGlobalBounds().width/2,400);     start2.setColor(Color::Black);         sf::Vector2f speed (3.f, 3.f);       bool holding = true;       int GameState;       enum states {INTRO, PLAYING, LOST};       GameState = {INTRO};       while (window.isOpen())     {         window.clear(Color::White);         switch(GameState)         {             case INTRO:                 window.draw(title);                 window.draw(start);                 window.draw(start1);                 window.draw(start2);                 break;             case PLAYING:                 window.setView(view);                 window.draw(shape);                 break;         }         window.display();           sf::Event event;           while (window.pollEvent(event))         {             if ( (event.type == Event::Closed) ||             ((event.type == Event::KeyPressed) && (event.key.code==Keyboard::Escape)) )                 window.close();             else             if ((event.type == Event::KeyPressed) && (GameState == INTRO))                 GameState=PLAYING;         }           if (GameState!=PLAYING)             continue;            float dt = frametime.restart().asSeconds();            if(speed.x > 6.f)             speed.x -= 1.f;         else if(speed.x < -6.f)             speed.x += 1.f;         else             speed.x = 0.f;           // Adjust vertical speed         if(speed.y > 6.f)             speed.y -= 1.f;              shape.setPosition(shape.getPosition().x + speed.x * dt, shape.getPosition().y + speed.y * dt);              if(sf::Keyboard::isKeyPressed(sf::Keyboard::S))             speed.y = 300;         else if(sf::Keyboard::isKeyPressed(sf::Keyboard::A))             speed.x = -290;         else if(sf::Keyboard::isKeyPressed(sf::Keyboard::D))             speed.x = 290;         else if(sf::Keyboard::isKeyPressed(sf::Keyboard::W))             speed.y = -300;                   if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right))               shape.rotate( 200 * dt);               if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left))               shape.rotate(- 200 * dt);               if(sf::Keyboard::isKeyPressed(sf::Keyboard::Space))             window.draw(projectile);           position.x = shape.getPosition().x + 10 - (screenDimensions.x / 2);         position.y = shape.getPosition().y + 10 - (screenDimensions.y / 2);             if(position.x < 0)             position.x = 0;         if(position.y < 0)             position.y = 0;                 view.reset(sf::FloatRect(position.x, position.y, screenDimensions.x, screenDimensions.y));           }           return 0;     }