Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <SFML\System.hpp>
  3. #include <SFML\Graphics.hpp>
  4.  
  5. void Init();
  6. void Update();
  7. void Draw();
  8. void LoadContent();
  9. bool Paused = false;
  10. sf::RenderWindow renderWindow(sf::VideoMode(800,600), "Title");
  11. sf::Image palloImage;
  12. sf::Sprite pallo;
  13. sf::Vector2f palloSpeed = sf::Vector2f(1.f, 1.f);
  14. sf::Vector2f palloPosition;
  15. int main()
  16. {
  17.     Init();
  18.     while(renderWindow.IsOpened())
  19.     {
  20.         Update();
  21.         Draw();
  22.     }
  23. }
  24. void Init()
  25. {
  26.     LoadContent();
  27. }
  28.  
  29. void LoadContent()
  30. {
  31.     if(palloImage.LoadFromFile("./pallo.png"))
  32.     {
  33.         pallo = sf::Sprite(palloImage);
  34.         pallo.SetColor(sf::Color(255,255,255,255));
  35.         palloPosition = sf::Vector2f(renderWindow.GetWidth() / 2, renderWindow.GetHeight() / 2);
  36.         pallo.SetPosition(palloPosition);
  37.     }
  38. }
  39.  
  40. void Update()
  41. {
  42.     float elapsedTime = renderWindow.GetFrameTime();
  43.     sf::Event Event;
  44.     while(renderWindow.GetEvent(Event))
  45.     {
  46.         if(Event.Type == sf::Event::Closed)
  47.             renderWindow.Close();
  48.     }
  49.     if(palloPosition.y + pallo.GetSize().y >= renderWindow.GetHeight() || palloPosition.y <= 0)
  50.     {
  51.         palloSpeed.y *= -1;
  52.         std::cout << "Vertikaaliosuma, x=" << palloPosition.y << ", y=" << palloPosition.x << std::endl;
  53.     }
  54.     if(palloPosition.x + pallo.GetSize().x >= renderWindow.GetWidth() || palloPosition.x <= 0)
  55.     {
  56.         palloSpeed.x *= -1;
  57.         std::cout << "Horisontaaliosuma, x=" << palloPosition.y << ", y=" << palloPosition.x << std::endl;
  58.     }
  59.     palloPosition.x += (200 * elapsedTime * palloSpeed.x);
  60.     palloPosition.y += (200 * elapsedTime * palloSpeed.y);
  61.     pallo.SetPosition(palloPosition);
  62. }
  63.  
  64. void Draw()
  65. {
  66.     renderWindow.Clear(sf::Color(100,149,237)); //Piirtokoodi tämän jälkeen
  67.     renderWindow.Draw(pallo);
  68.     renderWindow.Display(); //Piirtokoodi ennen tätä
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement