[SFML2] Zgeneralizowane klikanie
Ostatnio zmodyfikowano 2016-02-15 15:25
djmaxior Temat założony przez niniejszego użytkownika |
[SFML2] Zgeneralizowane klikanie » 2016-02-12 01:25:38 bool Clicked( sf::Event event, bool tap, int x, int y, sf::Vector2i window ) { if( !tap ) if(( sf::Mouse::getPosition().x - window.x > x ) &&( sf::Mouse::getPosition().y - window.y > y ) &&( sf::Mouse::getPosition().x - window.x < x + 119 ) &&( sf::Mouse::getPosition().y - window.y < y + 166 ) &&( event.mouseButton.button == sf::Mouse::Left ) ) return true; else if( tap ) if(( sf::Mouse::getPosition().x - window.x > x ) &&( sf::Mouse::getPosition().y - window.y > y ) &&( sf::Mouse::getPosition().x - window.x < x + 166 ) &&( sf::Mouse::getPosition().y - window.y < y + 119 ) &&( event.mouseButton.button == sf::Mouse::Left ) ) return true; return false; }
...
switch( EventH.type ) { case sf::Event::MouseButtonPressed: for( int i = 0; i = Deck.Size(); i++ ) if( Clicked( EventH, false, 35 +( i * 140 ), 35, HandWin.getPosition() ) ) { std::cout << "PONG!" << endl; break; } else break;
A więc mam stworzoną funkcję odpowiadającą na klikanie w danym obszarze (bez loopa if działa), i chcę mieć loop pozwalający mi na kliknięcie dowolnej karty na stole. Co robię nie tak? A może jest jakaś dużo prostsza biblioteka na przedstawienie kart w c++? |
|
Gibas11 |
» 2016-02-12 14:56:06 i = Deck.Size() - Z tym warunkiem coś chyba jest nie tak. |
|
djmaxior Temat założony przez niniejszego użytkownika |
» 2016-02-15 11:38:10 to jest poprawione, co jednak nie pozbawia mnie problemu, funkcja reaguje tylko na klikniecie pierwszej karty, gdzie powinna reagować na 60 w chwili obecnej. |
|
SeaMonster131 |
» 2016-02-15 15:25:20 Reaguje tylko na jedną kartę, ponieważ po pierwszym przejściu pętli, wychodzisz z niej. |
|
« 1 » |