Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML]Nieodpowiadające okno aplikacji

Ostatnio zmodyfikowano 2015-01-20 20:53
Autor Wiadomość
wemer
Temat założony przez niniejszego użytkownika
[SFML]Nieodpowiadające okno aplikacji
» 2015-01-20 19:41:24
Mój kod:
C/C++
#include <SFML/Graphics.hpp>

int main()
{
   
   
    sf::Sprite obrazek;
    sf::Texture obrazekTEX;
    obrazekTEX.loadFromFile( "dzewo.jpg" );
    obrazek.setTexture( obrazekTEX );
   
    sf::Sprite obrazek2;
    sf::Texture obrazek2TEX;
    obrazek2.setTexture( obrazek2TEX );
    obrazek2TEX.loadFromFile( "dzewo2.jpg" );
   
    sf::RenderWindow okno( sf::VideoMode( 300, 300, 32 ), "Próbne okno" );
   
    while( okno.isOpen() )
    {
        okno.clear( sf::Color() ); // kolor czarny tła
        sf::Event cos;
        while( cos.type == sf::Event::KeyPressed && cos.key.code == sf::Keyboard::W )
        {
            okno.draw( obrazek2 );
           
        }
       
        okno.draw( obrazek );
       
        okno.display();
    } //while
    return 0;
}
Mój problem polega na tym ,że aplikacja nie odpowiada na moje polecania , nie odpowiada na nic. Wyświetla tylko obrazek. Kiedy próbuje przenieść okno mojej aplikacji na dowolne miejsce na ekranie komputera, wszystko(w oknie apki)znika (białe tło),a kiedy klikam na nie przestaje ono odpowiadać. Paradoksalnie program z Testu działania biblioteki SFML 2.0 działa bez problemu. Co może być powodem tych problemów?
Pracuje na C::B 13.12
Komplikator: TDM-GCC 4.6 & 4.7 (tak mi się wydaje)
SFML: 2.1 (GCC 4.7 TDM (SJLJ) - 32-bit)
P-125271
SeaMonster131
» 2015-01-20 19:55:30
Może:
C/C++
if( cos.type == sf::Event::KeyPressed && cos.key.code == sf::Keyboard::W )
?
P-125272
wemer
Temat założony przez niniejszego użytkownika
» 2015-01-20 20:04:39
Wydaje mi się ,że problem nie jest przez kod. Jak dla mnie wygląda to na za wolny procesor lub inny podzespół, jednak jest to bardzo prosty program, a na moim kompie nie takie rzeczy odpalałem.
P-125274
czosnek17
» 2015-01-20 20:15:30
Nie, zamień swoją pętlę zdarzeń na to i się nie zawiesza.
C/C++
sf::Event event;
while( okno.pollEvent( event ) )
{
    if( event.type == sf::Event::Closed )
         okno.close();
   
} //while
Warunek zacytowany przez SeaMonster powinien być wewnątrz pętli.
P-125278
pekfos
» 2015-01-20 20:16:05
C/C++
sf::Event cos;
while( cos.type == sf::Event::KeyPressed && cos.key.code == sf::Keyboard::W )
{
    okno.draw( obrazek2 );
   
}
Jakie informacje ma cos..? I jak wyjdziesz z tej pętli, jeśli w ogóle do niej wejdziesz?
P-125279
wemer
Temat założony przez niniejszego użytkownika
» 2015-01-20 20:53:35
Wielkie dzięki za pomoc, problem rozwiązany.Był on spowodowany przede wszystkim moją niewiedzą, nie czytałem lekcji SFML dokładnie. Gdyby nie wy załamał bym się nad tym wręcz banalnym programie.
P-125281
« 1 »
  Strona 1 z 1