• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Rozdzielczość okna w SFML w trybie Fullscreen.

VPS Starter Arubacloud
+1 głos
491 wizyt
pytanie zadane 1 lipca 2018 w C i C++ przez skankhunt42 Obywatel (1,170 p.)

Tworząc okno o rozdzielczości 1440 x 900. Zauważyłem jednak że czasami ekran jest obcięty.

sf::RenderWindow window(sf::VideoMode(1440, 900), "My window",sf::Style::Fullscreen);
std::cout<<window.getSize().x<<" "<<window.getSize().y;

Zauważyłem ,że rozdzielczość zmienia się sama na 1375 x 876. Ale nie jest tak zawsze. Średnio raz na 4 uruchomienia programu wszystko jest w porządku.

1
komentarz 1 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)
Jaką masz rozdzielczość ekranu i systemu operacyjnego?
komentarz 1 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)
1440 x 900
komentarz 1 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)
Czy z innymi programami pełnoekranowymi jest podobny problem? (nie tylko twojego autorstwa)
komentarz 1 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)
w sumie to nie sprawdzałem bo pierwszy raz robię coś na fullscreenie
komentarz 1 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)
Skompiluję dla ciebie program pełnoekranowy napisany w SFML i zobaczysz, czy wyświetla ci się poprawnie, OK?
komentarz 1 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)
spoko
komentarz 1 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)

Oto program dla Windowsa.

komentarz 1 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)
Tylko ja to na ubuntu robię :( Sorki że o tym nie napisałem wcześniej. Ale jak wkleiłem ten kod do codeblocksa to było tak samo jak w moim programie.
komentarz 1 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)

Dobra, zaraz skompiluję kod na Linuksa. Poczekaj moment wink

komentarz 2 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)

Wersja na Linuksa. Nieco zmieniłem kod, po przeczytaniu odpowiedzi Ehlerta. Program teraz wyświetla wszystkie rozdzielczości wspierane w trybie pełnoekranowym przez system operacyjny.

Tak w ogóle przepraszam za zwłokę, ale musiałem skonfigurować system, którego regularnie nie używam.

komentarz 2 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)

Nie przepraszaj, i tak jestem wdzięczny za to że komuś się chce mi pomóc. Problem w tym że to program u mnie się w ogóle nie włącza. Ja ma ja mam wersję 32-bitową systemu więc może ty mi dałeś wersje 64? A gdy próbowałem skopiować kod do code blocksa wyświetlił się taki komunikat w konsoli:

ale czasami rozdzielczość jest prawidłowa

komentarz 2 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)

jakość jest słaba więc napiszę że w konsoli jest napisane:

Aktualna rozdzielczość : 1375x876
Wspieranie rozdzielczości pełnoekranowe :
Segmentation fault (core dumped)

Program wyłącza się podczas wykonywania pętli. Dodam jeszcze że z
 

event.type == sf::Event::EventType::KeyPressed

zmieniłem na
 

event.type == sf::Event::KeyPressed

bo inaczej w ogóle się nie kompilowało

komentarz 2 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)
Tak, wysłałem ci wersję 64-bitową. Dzisiaj taka architektura jest już standardem, więc nawet się o to nie pytałem. Nie wiem, czemu wyrzuca ci błąd podczas wykonywania pętli. Może problem leży w SFML-u. Tak w ogóle nie ma do pobrania binarek tej biblioteki dla Linuksa 32-bitowego. Sam kompilowałeś źródła? Masz włączone wsparcie dla C++11 w kompilatorze?
komentarz 2 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)
Nie miałem włączonego wsparcia dla C++11. Teraz to już naprawiłem i twój program działa. Rozdzielczość 1440x900 jest wspierana. Niestety mój problem nadal występuje.
komentarz 2 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)
a sfml za pomocą terminala instalowałem
komentarz 2 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)
Czyli repozytorium z SFML 32-bitowym jest dostępne? Nie wiedziałem o tym. Jakbyś podał nazwę paczki, pobiorę ją i skompiluję ci znowu program.
komentarz 2 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)
A jak mogę sprawdzić nazwę paczki? Bo ja instalowałem sfml pół roku temu i juz nie pamiętam. Robiłem to z pomocą tutoriala na blogu szymona siarkiewicza ale on już tego bloga usunął i nie wiem jak sprawdzić.
komentarz 2 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)

Wpisz w konsoli:

sudo apt-get update
sudo apt-cache search sfml

Pokaże ci się lista paczek. Napisz, którą pobrałeś.

komentarz 2 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)

chyba coś takiego wpisywałem jak instalowałem:
sudo apt-get install libsfml-dev
komentarz 2 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)
Też to instalowałem i pobierało mi wersję 64-bitową. Może jest to zależne od wersji systemu, nie wiem. Wychodzi na to, że ci nie pomogę, ale może uda mi się skompilować libkę z kodów źródłowych.
komentarz 2 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)
Spoko i tak dzieki za poświęcony czas. Narazie zrezygnuje z  fullscreena a potem zainstaluje sobie sytem 64bitowy i zobaczę czy działa.

1 odpowiedź

0 głosów
odpowiedź 1 lipca 2018 przez Ehlert Ekspert (213,530 p.)

Wywołaj to i sprawdź czy ta rozdzielczość jest wspierana wink

komentarz 2 lipca 2018 przez skankhunt42 Obywatel (1,170 p.)

Nie do końca rozumiem co masz na myśli.
 

sf::VideoMode::getDesktopMode();

Dodałem to ,ale to nic nie zmieniło. Nie wiem jak mam sprawdzić czy ta rozdzielczość jest wspierana.

 

komentarz 2 lipca 2018 przez criss Mędrzec (172,590 p.)

Returns

Array containing all the supported fullscreen modes

Podobne pytania

0 głosów
0 odpowiedzi 139 wizyt
pytanie zadane 11 lipca 2020 w C i C++ przez HitMan Użytkownik (850 p.)
+1 głos
0 odpowiedzi 133 wizyt
0 głosów
2 odpowiedzi 863 wizyt
pytanie zadane 15 stycznia 2017 w C i C++ przez Alvancaran Dyskutant (8,160 p.)

92,843 zapytań

141,782 odpowiedzi

320,858 komentarzy

62,174 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...