SFML - Jak dodać timer do programu?
Ostatnio zmodyfikowano 2013-04-02 17:39
KamileN7 Temat założony przez niniejszego użytkownika |
SFML - Jak dodać timer do programu? » 2013-04-02 16:51:31 Otóż nie wiem jak to zrobić, w kursie na tej stronie nie ma nic o tym. Było coś w dokumentacji, ale nie wiem jak to zastosować;D Mógł by mi ktoś dodać timer do tego programu, bo jak czegoś nie zobaczę to się nie nauczę;D Z góry dzięki za pomoc i za cierpliwość! #include <SFML/Graphics.hpp>
int main() { sf::RenderWindow oknoAplikacji( sf::VideoMode( 600, 600, 32 ), "Pierwszy program" ); sf::Texture test; test.loadFromFile( "test.jpg" ); sf::Sprite obrazek; obrazek.setTexture( test ); int PozycjaX = 150, PozycjaY = 150; while( oknoAplikacji.isOpen() ) { sf::Event zdarzenie; while( oknoAplikacji.pollEvent( zdarzenie ) ) { if( zdarzenie.type == sf::Event::Closed ) { oknoAplikacji.close(); } if( zdarzenie.type == sf::Event::KeyPressed && zdarzenie.key.code == sf::Keyboard::Escape ) { oknoAplikacji.close(); } } if( sf::Keyboard::isKeyPressed( sf::Keyboard::W ) ) PozycjaY -= 1; if( sf::Keyboard::isKeyPressed( sf::Keyboard::S ) ) PozycjaY += 1; if( sf::Keyboard::isKeyPressed( sf::Keyboard::A ) ) PozycjaX -= 1; if( sf::Keyboard::isKeyPressed( sf::Keyboard::D ) ) PozycjaX += 1; oknoAplikacji.clear( sf::Color::Black ); obrazek.setPosition( PozycjaX, PozycjaY ); oknoAplikacji.draw( obrazek ); oknoAplikacji.display(); } return 0; }
|
|
czosnek17 |
» 2013-04-02 17:03:30 |
|
KamileN7 Temat założony przez niniejszego użytkownika |
» 2013-04-02 17:39:08 Ok dzięki, nareszcie jakiś dobry poradnik jak dodać timer. Tu daje jeszcze jak ten "timer" dodałem do programu, jakby ktoś kiedyś tu zaglądał w poszukiwaniu rozwiązania ;D #include <SFML/Graphics.hpp>
int main() { sf::RenderWindow oknoAplikacji( sf::VideoMode( 600, 600, 32 ), "Pierwszy program" ); sf::Texture test; test.loadFromFile( "test.jpg" ); sf::Sprite obrazek; obrazek.setTexture( test ); int PozycjaX = 150, PozycjaY = 150; sf::Clock Zegar; float Akumulator = 0; float CzasKlatki = 0.01; while( oknoAplikacji.isOpen() ) { Akumulator += Zegar.restart().asSeconds(); sf::Event zdarzenie; while( oknoAplikacji.pollEvent( zdarzenie ) ) { if( zdarzenie.type == sf::Event::Closed ) { oknoAplikacji.close(); } if( zdarzenie.type == sf::Event::KeyPressed && zdarzenie.key.code == sf::Keyboard::Escape ) { oknoAplikacji.close(); } } if( Akumulator > CzasKlatki ) { if( sf::Keyboard::isKeyPressed( sf::Keyboard::W ) ) PozycjaY -= 1; if( sf::Keyboard::isKeyPressed( sf::Keyboard::S ) ) PozycjaY += 1; if( sf::Keyboard::isKeyPressed( sf::Keyboard::A ) ) PozycjaX -= 1; if( sf::Keyboard::isKeyPressed( sf::Keyboard::D ) ) PozycjaX += 1; Akumulator -= CzasKlatki; } oknoAplikacji.clear( sf::Color::Black ); obrazek.setPosition( PozycjaX, PozycjaY ); oknoAplikacji.draw( obrazek ); oknoAplikacji.display(); } return 0; }
|
|
« 1 » |