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

[SFML] - crash przy zamykaniu okna

Object Storage Arubacloud
0 głosów
389 wizyt
pytanie zadane 6 marca 2017 w C i C++ przez szym3ns Użytkownik (860 p.)
Cześć i czołem. Tworze sobie w SFMLu grę Kółko i krzyżyk. Wszystko już mam i wszystko działa, poza tekstem. Chciałbym umieścić obok planszy tekst "Actual player: ". Tekst oczywiście poprawnie się umieszcza i wyświetla, lecz w momencie zamknięcia okna pojawia się crash. Jak go usunę to crash oczywiście znika. Szukałem po internecie i niestety nie znalazłem rozwiązania mojego problemu..

 

Najpierw w klasie dotyczącej gry utworzyłem zmienne typu sf::Text i sf::Font, odpowiednimi metodami wczytałem do nich tekst i czcionkę, obyło się bez żadnych błędów, dodałem linijke window.draw(tekst) po czym skompilowałem i odpaliłem. Po odpaleniu normalnie tekst się wyświetla, nie ma żadnych problemów, gra dział, lecz w momencie zamknięcia okna po prostu program się crashuje.

Jakiś czas temu napisałem sobie klasę MenuText, tworzącą proste menu. W oddzielnym projekcie normalnie działa. Po dodaniu do mojej gry niestety także crashuje..

 

main.cpp http://pastebin.com/L6KnTa2b

game.cpp mainloop() http://pastebin.com/fBhRDMmu

game.cpp loadfont(), loadtext() http://pastebin.com/BgU0dXkD

game.cpp displaywindow() http://pastebin.com/MGwt9sNQ
komentarz 6 marca 2017 przez adrian17 Ekspert (344,860 p.)
Pokaż cały kod, a nie wyrywki.

3 odpowiedzi

0 głosów
odpowiedź 6 marca 2017 przez Patrycjerz Mędrzec (192,320 p.)
wybrane 6 marca 2017 przez szym3ns
 
Najlepsza

Wydaję mi się, że posiadasz nieodpowiednią wersję biblioteki do wersji kompilatora. Sam uświadczyłem problemów związanych z SFML przy wywoływaniu metody loadFromFile. Kod był oczywiście poprawny, ale miałem zbyt nową wersję MinGW.

Podaj więc szczegółowe dane na temat wersji kompilatora i SFML, które posiadasz. Sprawdź również, czy zgadzają się one z opisami w dziale Download.

komentarz 6 marca 2017 przez szym3ns Użytkownik (860 p.)

wersja kompilatora: TDM-GCC (version 4.9.2, 32 bit, SJLJ)

sfml: GCC 4.9.2 TDM (SJLJ) - 32-bit

raczej pasująindecision

komentarz 6 marca 2017 przez szym3ns Użytkownik (860 p.)
miałeś racje, już zamierzałem iść spać, ale postanowiłem jeszcze, że podmienię pliki z SFML/bin na te w folderze z plikiem wykonywalnym .exe i ZADZIAŁAŁO :D haha ale super uczucie, myślałem że to coś poważnego, jakiś bug po stronie biblioteki, a to taka pierdółka :P
0 głosów
odpowiedź 6 marca 2017 przez szym3ns Użytkownik (860 p.)
oto cały kod:

game.cpp http://codepad.org/PMqknBGS

game.hpp http://codepad.org/gSqA2KUh

menutext.hpp http://codepad.org/NbWWjWzw

menutext.cpp http://codepad.org/RbXZBGEn

Proszę o pomoc :(
komentarz 6 marca 2017 przez adrian17 Ekspert (344,860 p.)
Dunno. Najprościej będzie jak otworzysz program w debuggerze (co powinieneś był robić od początku) i zobaczysz co się dzieje w destruktorach.
komentarz 6 marca 2017 przez szym3ns Użytkownik (860 p.)

już to robiłem, i wyskakuje jedynie to..: (podkreślenie powinno być na czerwono)

0 głosów
odpowiedź 6 marca 2017 przez szym3ns Użytkownik (860 p.)

Już próbowałem wcześniej użyć debuggera i wyskoczyło jedynie to: (podkreślenie powinno być na czerwono, a jak widać jest bez koloru)

komentarz 6 marca 2017 przez adrian17 Ekspert (344,860 p.)

OK, głupi strzał:

    sf::Text tekst;
    sf::Font czcionka;

Spróbuj zamienić kolejność na

    sf::Font czcionka;
    sf::Text tekst;

Jak zadziała to powiem o co chodziło. Jak nie to nie wiem, o co może chodzić.

komentarz 6 marca 2017 przez szym3ns Użytkownik (860 p.)
Niestety nie działa, ehh to jest jakiś dramat..

Podobne pytania

+1 głos
2 odpowiedzi 376 wizyt
0 głosów
1 odpowiedź 387 wizyt
pytanie zadane 8 lipca 2018 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
0 głosów
0 odpowiedzi 335 wizyt
pytanie zadane 12 listopada 2017 w C i C++ przez noel1402 Użytkownik (630 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...