From 2258ca5c7e6166d33c34ce647e656bc335a6acb9 Mon Sep 17 00:00:00 2001 From: aleksav013 Date: Sun, 6 Jun 2021 15:52:38 +0200 Subject: Switching sf::RenderWindow to pointer --- src/State.cpp | 41 +++++++++++++++++++++-------------------- src/includes/State.hpp | 2 +- 2 files changed, 22 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/State.cpp b/src/State.cpp index a404666..9e63762 100644 --- a/src/State.cpp +++ b/src/State.cpp @@ -11,10 +11,10 @@ State::State() } void State::initwin() { - prozor.create(sf::VideoMode::getFullscreenModes()[0],"RPG igra"); - prozor.setFramerateLimit(60); - visina=prozor.getSize().y; - sirina=prozor.getSize().x; + prozor=new sf::RenderWindow(sf::VideoMode::getFullscreenModes()[0],"RPG igra"); + prozor->setFramerateLimit(60); + visina=prozor->getSize().y; + sirina=prozor->getSize().x; } void State::initassets() { @@ -33,19 +33,19 @@ void State::initassets() } void State::events() { sf::Event evnt; - while(prozor.pollEvent(evnt)) + while(prozor->pollEvent(evnt)) { switch(evnt.type) { case sf::Event::EventType::Closed: - prozor.close(); + prozor->close(); break; case sf::Event::EventType::Resized: - std::cout<<"Nova velicina prozora je:"<getSize().y; + sirina=prozor->getSize().x; + prozor->setView(sf::View(sf::FloatRect(0,0,sirina,visina))); + std::cout<<"Nova velicina prozora je:"<close(); } } void State::initui() @@ -108,8 +108,8 @@ void State::updateui() } void State::loop() { - Game *igra=new Game(&prozor,font,tex); - while(prozor.isOpen()) + Game *igra=new Game(prozor,font,tex); + while(prozor->isOpen()) { events(); kraj=igra->gameover(); @@ -119,21 +119,21 @@ void State::loop() igra->draw(); if(kraj) { - prozor.draw(podloga); - prozor.draw(krajtext); + prozor->draw(podloga); + prozor->draw(krajtext); if(newgame) { delete igra; - igra=new Game(&prozor,font,tex); + igra=new Game(prozor,font,tex); } } if(pause) { - prozor.draw(podloga); - prozor.draw(pausetext); + prozor->draw(podloga); + prozor->draw(pausetext); } - prozor.display(); - prozor.clear(); + prozor->display(); + prozor->clear(); ischanged=0; newgame=0; @@ -142,6 +142,7 @@ void State::loop() } State::~State() { + delete prozor; delete font["default"]; delete tex["neprijatelj"]; delete tex["health"]; diff --git a/src/includes/State.hpp b/src/includes/State.hpp index 0b212b8..c9dffb9 100644 --- a/src/includes/State.hpp +++ b/src/includes/State.hpp @@ -5,7 +5,7 @@ class State { private: - sf::RenderWindow prozor; + sf::RenderWindow *prozor; int visina,sirina; bool ischanged=0,newgame=0,pause=0,kraj=0; -- cgit v1.2.3