[SFML 2.1] Ustawianie tekstu za pomocą setString() i "Problem z aplikacją..."
Ostatnio zmodyfikowano 2013-12-21 18:23
Puf Temat założony przez niniejszego użytkownika |
[SFML 2.1] Ustawianie tekstu za pomocą setString() i "Problem z aplikacją..." » 2013-12-12 22:56:17 Witam serdecznie. Próbuje wyświetli tekst na ekranie mojej aplikacji, jednak po jej uruchomieniu wyświetla mi komunikat, że wystąpił problem z aplikacją i została ona zamknięta, lecz podczas kompilacji nie otrzymuje żadnych logów o błędzie. Oto kod: #include <SFML/Window.hpp> #include <SFML/Graphics.hpp> #include <iostream>
int main() { sf::RenderWindow App( sf::VideoMode( 800, 600, 32 ), "Test" ); sf::Font font; if( font.loadFromFile( "arial.ttf" ) ) std::cout << "Czcionka wczytana" << std::endl; sf::Text text; text.setFont( font ); text.setString( "abc" ); while( App.isOpen() ) { sf::Event zdarzenie; while( App.pollEvent( zdarzenie ) ) { if( zdarzenie.type == sf::Event::Closed ) App.close(); } App.clear(); App.draw( text ); App.display(); } return 0; }
Próbowałem wyświetlić tekst w ten sposób, ale i to nie działa: sf::Text text( "abc", font, 24 );
Natomiast, jeżeli nie prześlę żadnego znaku do setString, to aplikacja uruchamiana jest bez problemu. |
|
DejaVu |
» 2013-12-17 16:36:19 1. Sprawdź czy czcionka się wczytała.
2. Sprawdź czy masz pliki *.dll w katalogu obok pliku *.exe. |
|
MrPoxipol |
» 2013-12-17 19:18:29 Ten kod nie jest poprawny. |
|
Puf Temat założony przez niniejszego użytkownika |
» 2013-12-17 22:33:28 DejaVu: if( font.loadFromFile( "arial.ttf" ) ) std::cout << "Czcionka wczytana" << std::endl
Zwraca: "Czcionka wczytana". W katalogu obok exe mam takie dll'ki: sfml-graphics-2.dll sfml-window-2.dll sfml-system-2.dll libstdc++-6.dll
Nie wiem czy to istotne, ale kompilowałem bibliotekę samodzielnie i wszystko działało dopóki nie próbowałem wyświetlić tekstu. Zauważyłem, że jeżeli wykomentuje linijkę z text.setFont(font), to program się uruchamia. MrPoxipol: Bądź więc tak dobry i napisz dlaczego tak myślisz. |
|
Monika90 |
» 2013-12-17 22:39:36 App.clear(); App.draw( text ); App.display();
To w złym miejscu jest. |
|
Puf Temat założony przez niniejszego użytkownika |
» 2013-12-17 22:48:41 Według tutoriala ze strony głównej biblioteki, tak powinno być - wewnątrz głównej pętli.
|
|
Monika90 |
» 2013-12-17 22:50:33 W zamieszczonym kodzie, nie jest w głównej pętli.
Poza tym, upewnij się czy plik "arial.ttf" jest w katalogu bieżącym programu. |
|
Puf Temat założony przez niniejszego użytkownika |
» 2013-12-17 22:54:41 Wybacz, już poprawiłem. Sprawdzałem wielokrotnie :),plik z czcionką jest na swoim miejscu. |
|
« 1 » 2 |