miro741 Temat założony przez niniejszego użytkownika |
» 2015-03-14 23:33:56 @Brunon3 To co powinno być jeszcze w nim aby był dokończony ? if( kw[ 0 ] == false ) { if( zdarzenie.type == sf::Event::MouseButtonReleased && zdarzenie.mouseButton.button == sf::Mouse::Left ) kw[ 0 ] = !kw[ 0 ], kw[ 1 ] = false, kw[ 2 ] = false, kw[ 3 ] = false, kw[ 4 ] = false; } if( sf::Keyboard::isKeyPressed( sf::Keyboard::Up ) && kw[ 0 ] ) { q.move( 0, - 1 ); x.move( 0, - 1 ); w.move( 0, - 1 ); e.move( 0, - 1 ); r.move( 0, - 1 ); } Tak jak teraz ?? @Lora a jak to sprawdzać ? |
|
Lora |
» 2015-03-14 23:39:08 Przecież w moim drugim poście było: q.getGlobalBounds().contains(( sf::Vector2f ) sf::Mouse::getPosition( okno ) ) Miałeś tam zamienić tylko ten warunek: sf::Mouse::isButtonPressed( sf::Mouse::Left ) ) . I jeszcze ten drugi if inaczej: if( sf::Keyboard::isKeyPressed( sf::Keyboard::Up ) ) { if( kw[ 0 ] ) q.move( 0, - 1 ); if( kw[ 1 ] ) x.move( 0, - 1 ); }
|
|
Brunon3 |
» 2015-03-14 23:41:35 Umghm... @miro141, chyba dalej nie rozumiesz. Pseudokod -> jeżeli gracz kliknął na kwadrat nr 0 ustaw zmienną kw[0] na !kw[0] // Jeżeli true - false; jeżeli false - true
/*analogicznie dla kolejnych kwadratów*/
jeżeli zmienna kw[0] jest true && gracz klikną W porusz kwadrat nr 0 do góry
/*analogicznie dla A, S, D i kolejnych kwadratów*/
<- Pseudokod Teraz rozumiesz? -BD. |
|
Lora |
» 2015-03-14 23:43:23 Wydaje mi się, że on chce, żeby tylko jeden kwadrat był zaznaczony naraz. BTW kw[ 0 ] = !kw[ 0 ], kw[ 1 ] = false, kw[ 2 ] = false, kw[ 3 ] = false, kw[ 4 ] = false; tam powinny być średniki, a nie przecinki. |
|
Brunon3 |
» 2015-03-14 23:46:26 @up: No to jaki problem? Podczas zaznaczania np kwadratu nr 0 odznacza się wszystkie inne i analogicznie dla reszty.
...
Choć to trochę bez sensu bo fajnie jest sterować grupką. :D
-BD. |
|
Lora |
» 2015-03-14 23:47:39 No żaden problem, tylko w twoim pseudokodzie tego nie było. |
|
Brunon3 |
» 2015-03-14 23:49:40 Wiem, bo nie wiedziałem że autor chce żeby tak było. :P Pseudokod z tym: jeżeli gracz kliknął na kwadrat nr 0 ustaw zmienną kw[0] na !kw[0] // Jeżeli true - false; jeżeli false - true ustaw zmienne od kw[1] do kw[liczba_kwadratów] na false
/*analogicznie dla kolejnych kwadratów*/
jeżeli zmienna kw[0] jest true && gracz kliknął W porusz kwadrat nr 0 do góry
/*analogicznie dla A, S, D i kolejnych kwadratów*/
|
|
miro741 Temat założony przez niniejszego użytkownika |
» 2015-03-14 23:56:50 if( kw[ 0 ] == false ) { if( q.getGlobalBounds().contains(( sf::Vector2f ) sf::Mouse::getPosition( okno ) ) && zdarzenie.type == sf::Event::MouseButtonReleased && zdarzenie.mouseButton.button == sf::Mouse::Left ) kw[ 0 ] = !kw[ 0 ], kw[ 1 ] = false, kw[ 2 ] = false, kw[ 3 ] = false, kw[ 4 ] = false; } if( kw[ 1 ] == false ) { if( w.getGlobalBounds().contains(( sf::Vector2f ) sf::Mouse::getPosition( okno ) ) && zdarzenie.type == sf::Event::MouseButtonReleased && zdarzenie.mouseButton.button == sf::Mouse::Left ) kw[ 0 ] = false, kw[ 1 ] = !kw[ 1 ], kw[ 2 ] = false, kw[ 3 ] = false, kw[ 4 ] = false; } if( kw[ 2 ] == false ) { if( e.getGlobalBounds().contains(( sf::Vector2f ) sf::Mouse::getPosition( okno ) ) && zdarzenie.type == sf::Event::MouseButtonReleased && zdarzenie.mouseButton.button == sf::Mouse::Left ) kw[ 0 ] = false, kw[ 1 ] = false, kw[ 2 ] = !kw[ 2 ], kw[ 3 ] = false, kw[ 4 ] = false; } if( kw[ 3 ] == false ) { if( r.getGlobalBounds().contains(( sf::Vector2f ) sf::Mouse::getPosition( okno ) ) && zdarzenie.type == sf::Event::MouseButtonReleased && zdarzenie.mouseButton.button == sf::Mouse::Left ) kw[ 0 ] = false, kw[ 1 ] = false, kw[ 2 ] = false, kw[ 3 ] = !kw[ 3 ], kw[ 4 ] = false; } if( kw[ 4 ] == false ) { if( x.getGlobalBounds().contains(( sf::Vector2f ) sf::Mouse::getPosition( okno ) ) && zdarzenie.type == sf::Event::MouseButtonReleased && zdarzenie.mouseButton.button == sf::Mouse::Left ) kw[ 0 ] = false, kw[ 1 ] = false, kw[ 2 ] = false, kw[ 3 ] = false, kw[ 4 ] = !kw[ 4 ]; }
if( sf::Keyboard::isKeyPressed( sf::Keyboard::Up ) ) { if( kw[ 0 ] ); q.move( 0, - 1 ); if( kw[ 1 ] ); x.move( 0, - 1 ); if( kw[ 2 ] ); w.move( 0, - 1 ); if( kw[ 3 ] ); e.move( 0, - 1 ); if( kw[ 4 ] ); r.move( 0, - 1 ); } if( sf::Keyboard::isKeyPressed( sf::Keyboard::Down ) ) { if( kw[ 0 ] ); q.move( 0, 1 ); if( kw[ 1 ] ); x.move( 0, 1 ); if( kw[ 2 ] ); w.move( 0, 1 ); if( kw[ 3 ] ); e.move( 0, 1 ); if( kw[ 4 ] ); r.move( 0, 1 ); } if( sf::Keyboard::isKeyPressed( sf::Keyboard::Left ) ) { if( kw[ 0 ] ); q.move( - 1, 0 ); if( kw[ 1 ] ); x.move( - 1, 0 ); if( kw[ 2 ] ); w.move( - 1, 0 ); if( kw[ 3 ] ); e.move( - 1, 0 ); if( kw[ 4 ] ); r.move( - 1, 0 ); } if( sf::Keyboard::isKeyPressed( sf::Keyboard::Right ) ) { if( kw[ 0 ] ); q.move( 1, 0 ); if( kw[ 1 ] ); x.move( 1, 0 ); if( kw[ 2 ] ); w.move( 1, 0 ); if( kw[ 3 ] ); e.move( 1, 0 ); if( kw[ 4 ] ); r.move( 1, 0 ); } Chcę że jak kliknę np na 1 to nim steruje a reszta się nie rusza potem żebym mógł kliknąć np sobie kolejnego i nim trochę posterował i tak z każdym. A i tak jak odpalę go to bez klikniecia myszą porusza wszystkie a jeśli kliknę to też porusza wszystkimi |
|
1 2 « 3 » 4 5 6 |