tirou Temat założony przez niniejszego użytkownika |
» 2012-11-06 21:04:57 DejaVu ( i inni) no własnie o to chodzi, że ja NIE chce jej włączać, a się włącza za kazdym razem, i jesli okno sie zamyka: app.Close() to konsole trzeba również wyłaczać, a chciałbym, żeby się nie włączała bądź, automatycznie wyłaczała . |
|
jsc |
» 2012-11-06 21:08:11 Chodzi ci o to: #include <SFML/Window.hpp>
int main() { sf::Window oknoAplikacji( sf::VideoMode( 800, 600, 32 ), "Kurs SFML - http://cpp0x.pl" ); while( oknoAplikacji.IsOpened() ) { sf::Event zdarzenie; while( oknoAplikacji.GetEvent( zdarzenie ) ) { if( zdarzenie.Type == sf::Event::Closed ) oknoAplikacji.Close(); if( zdarzenie.Type == sf::Event::KeyPressed && zdarzenie.Key.Code == sf::Key::Escape ) oknoAplikacji.Close(); if( zdarzenie.Type == sf::Event::MouseButtonPressed && zdarzenie.MouseButton.Button == sf::Mouse::Middle ) oknoAplikacji.Close(); } oknoAplikacji.Display(); } return 0; }
? |
|
akwes |
» 2012-11-06 21:09:16 A co twojego sposobu: zamykasz całą aplikację, a nie tylko konsolę.
|
Pierwsze pytanie to sugerowało. aby konsola wyłączała się automatycznie po zamknięciu okna
|
No ale tu wychodzi, że najlepiej żeby jej nie było. @autorze, w jakim środowisku (programie) pracujesz (piszesz kod)? Ukrywanie konsoli podczas trwania programu |
|
tirou Temat założony przez niniejszego użytkownika |
» 2012-11-06 21:13:59 Code Blocks ? |
|
akwes |
» 2012-11-06 21:19:10 |
|
DejaVu |
» 2012-11-06 21:20:43 To nie jest problem ukrywania konsoli, bowiem proces moim zdaniem pozostanie w pamięci. Konsola powinna się sama zamknąć po poprawnym zamknięciu aplikacji SFML (chyba, że jakiegoś babola tam wsadzili). /edit: Na tej wersji SFML 2.0, którą posiadam to po zamknięciu okna aplikacji, zamyka się również konsola (Visual C++). /edit2: sf::Event event; while( window.pollEvent( event ) ) { if( event.type == sf::Event::Closed ) window.close(); if( event.key.code == sf::Keyboard::Escape ) window.close(); }
Wyjście krzyżykiem jak i za pomocą ESC działa prawidłowo. |
|
akwes |
» 2012-11-06 21:26:52 Ten kod będzie działał dalej pomimo zamknięcia okna. Po prostu inny warunek w pętli while. #include <SFML/Graphics.hpp>
int main() { sf::RenderWindow App( sf::VideoMode( 800, 600 ), "SFML works!" ); while( true ) { sf::Event event; while( App.pollEvent( event ) ) { if( event.type == sf::Event::Closed ) App.close(); } } return 0; }
Natomiast tu zamknięcie będzie równo #include <SFML/Graphics.hpp>
int main() { sf::RenderWindow App( sf::VideoMode( 800, 600 ), "SFML works!" ); while( true ) { sf::Event event; while( App.pollEvent( event ) ) { if( event.type == sf::Event::Closed ) { App.close(); return 0; } } } return 0; }
Tak samo jak tu: #include <SFML/Graphics.hpp>
int main() { sf::RenderWindow App( sf::VideoMode( 800, 600 ), "SFML works!" ); while( App.isOpen() ) { sf::Event event; while( App.pollEvent( event ) ) { if( event.type == sf::Event::Closed ) App.close(); } } return 0; }
// edit @DejaVu w pierwszym kodzie znika Ci konsola razem z oknem ;> ? //edit 2 Czyli jednak i tak kwestia IDE :D |
|
tirou Temat założony przez niniejszego użytkownika |
» 2012-11-06 21:27:16 Po poprawnym wylaczeniu okna SFML w konsoli wyswietla sie komunikat poprawnego zakonczenia dzialania programu:" Process returned 0 . Press any key to continue..."
Jednak chciałbym, aby konsola zamykała się od razu po zamknieciu SFML. |
|
1 « 2 » 3 |