SFML 2.5.1 Obsługa event'u resize

0

Witam.
Mam problem ze skalowaniem treści wyświetlanej w oknie i zamiast się z tym bawić chciałbym zablokować możliwość zmiany rozmiaru okna najlepiej też maksymalizacji (ten przycisk obok zamykania okna). Próbowałem zrobić to analogicznie do default'owej obsługi sf::Colose ale coś mi nie działa.

while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed){
                window.close();
            }
            if (event.type == sf::Event::Resized){
                continue;
            }
        }
    }

A i takie pytanie na koniec da się jakoś wygenerować działającego exe'ka do aplikacji, którego będę mógł normalnie wysłać/skopiować i odpalić na innym komputerze?

1

style okna dostępne w SFML
flag sf:: None | Titlebar | Resize | Close | Fullscreen
default flag sf:: Resize | Close Resize | Close
mixed flag sf::Titlebar | sf::Close

Można je łączyć ze sobą np tak:

sf::RenderWindow my_window(sf::VideoMode(333, 220, 32), "screen size", sf::Style::Titlebar |  sf::Style::Close );

Możesz sobie też wykrywać rozdzielczość ekranu i dopasować rozmiar okna np. tak

int model = sf::VideoMode::getDesktopMode().width;
    sf::RenderWindow app;
    if(model == 1024) //1024x768
    {
        app.create(sf::VideoMode(555, 330, 32), "screen size", sf::Style::Titlebar |  sf::Style::Close );
    }
    if(model == 800) //800x600
    {
        app.create(sf::VideoMode(333, 220, 32), "screen size", sf::Style::None );
    }

A i takie pytanie na koniec da się jakoś wygenerować działającego exe'ka do aplikacji, którego będę mógł normalnie wysłać/skopiować i odpalić na innym komputerze?

Jeżeli robisz to pod windows'em to masz w katalogu "Release" lub "Debug" wygenerowanego .exe'ka
Jeżeli chcesz dystrybuować, czy odpalić na innym komputerze to w katalog który jest .exe'k musza znajdować się fonty których używałeś, bitmapy, pliki dźwiękowe te zależą od ścieżki np.

sf::Texture textura;
textura.loadFromFile( "resources/image/grass.png" );

oraz *.dll od sfml
przykładowo dla katalogu "Release"

  • sfml-graphics-2.dll
  • sfml-audio-2.dll
  • sfml-network-2.dll
  • sfml-system-2.dll
  • sfml-window-2.dll
    Ja mam dodatkowo jeszcze np: (nie pytaj dlaczego, nie pamietam)
  • libgcc_s_sjlj-1.dll
  • libstdc++-6.dll
  • openal32.dll

1 użytkowników online, w tym zalogowanych: 0, gości: 1