diff options
| author | aleksav013 <aleksav013@gmail.com> | 2021-06-01 21:03:32 +0200 |
|---|---|---|
| committer | aleksav013 <aleksav013@gmail.com> | 2021-06-01 21:03:32 +0200 |
| commit | dbe41a2f77774ee716d3ff45db766d6400970f57 (patch) | |
| tree | ec86f7305bcb2d3eec37bf8e123cb901f80a5a5d /src/State.cpp | |
| parent | 82d49a6825af009d950b3a6c18d609da2ef8486c (diff) | |
Splitting code; Creating Makefile
Diffstat (limited to 'src/State.cpp')
| -rw-r--r-- | src/State.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/State.cpp b/src/State.cpp new file mode 100644 index 0000000..510e8ca --- /dev/null +++ b/src/State.cpp @@ -0,0 +1,59 @@ +#include"includes/Global.hpp" +#include"includes/State.hpp" + +#include"includes/Game.hpp" +#include<iostream> +State::State() +{ + prozor.create(sf::VideoMode::getFullscreenModes()[0],"RPG igra"); + prozor.setFramerateLimit(60); + visina=prozor.getSize().y; + sirina=prozor.getSize().x; +} +void State::events() +{ + sf::Event evnt; + while(prozor.pollEvent(evnt)) + { + switch(evnt.type) + { + case sf::Event::EventType::Closed: + prozor.close(); + break; + case sf::Event::EventType::Resized: + std::cout<<"Nova velicina prozora je:"<<prozor.getSize().x<<'x'<<prozor.getSize().y<<std::endl; + ischanged=1; + visina=prozor.getSize().y; + sirina=prozor.getSize().x; + prozor.setView(sf::View(sf::FloatRect(0,0,sirina,visina))); + break; + case sf::Event::EventType::KeyPressed: + keyboard(); + break; + default: + break; + } + } +} +void State::keyboard() +{ + if(sf::Keyboard::isKeyPressed(sf::Keyboard::P)) + { + pause=1; + } + if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) + { + pause=0; + ischanged=1; + } +} +void State::loop() +{ + Game *igra=new Game(&prozor); + while(prozor.isOpen()) + { + events(); + igra->loop(ischanged,pause); + if(ischanged) ischanged=0; + } +} |
