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

[SFML, C++] Wyświetlanie sprajtów

Ostatnio zmodyfikowano 2012-04-06 19:57
Autor Wiadomość
dervill
Temat założony przez niniejszego użytkownika
[SFML, C++] Wyświetlanie sprajtów
» 2012-04-06 17:27:31
Witam.
Mam pytanie jak zrobić by w głównej pętli po naciśnięciu LPM cały czas wyświetlał mi sie sprajt (biblioteka SFML)?
Jak zrobiłem konstrukcje
C/C++
const sf::Input & sterowanie = Aplikacja.GetInput();
if( sterowanie.IsMouseButtonDown( sf::Mouse::Left ) )
     Aplikacja.Draw( sprajt );
To działa tylko gdy mam wciśnięty cały czas LPM a chciałbym by był on widoczny az do końca kolejnego wciśniecia LPM.
Bo pętla while wpada w nieskończoność w tym przypadku i sie wykopuje.
P-53973
akwes
» 2012-04-06 17:31:07
Przechowuj w zmiennej bool, informacje o tym czy było już raz wciśnięcie : )

// na poczatku
1. Zmienna bool z wartością false

// eventy
1. Jeżeli było naciśnięcie, to zmień jej wartość na true

// w petli
1. Jeżeli zmienna bool ma wartość true, rysuj obrazek
P-53974
dervill
Temat założony przez niniejszego użytkownika
» 2012-04-06 17:49:56
Mógłbyś podać jakiś przykład?
P-53975
akwes
» 2012-04-06 17:50:58
Podałem Ci opis słowny. Przepisz to na C++.

Nawet poprawiłem post wyżej, żeby było dokładnie.
P-53976
dervill
Temat założony przez niniejszego użytkownika
» 2012-04-06 18:35:18
Niestety ale nie chodzi, albo coś źle zapisałem.
Bo ogólnie sprawa ma się tak:

Wyświetlam obrazek. Po kliknięciu LPM na obrazek ma się pojawić kolejny. Ma się on wyświetlać tak długo aż nie kliknę ponownie LPM ale juz obojetnie w jakie miejsce.

Całość tak jak napisałeś mi sie wysypuje.
Nie wiem w jakim miejscu dac tego eventa

ogólnie próbowałem coś w takim sensie zrobić, ale nie działa link: http://codeupload.com/5470
P-53977
akwes
» 2012-04-06 18:40:16
W pętli miałem na myśli główną pętlę gry, a nie dodatkową.
P-53978
SeaMonster131
» 2012-04-06 18:49:06
C/C++
bool wys_obrazek = false, klik = false;

if( mysz.klikniecie &&..&& !klik )
{
    klik = true;
    wys_obrazek = !wys_obrazek;
   
}

if( !mysz.klikniecie && klik )
     klik = false;

if( wys_obrazek )
     rysuj_obrazek;

P-53980
dervill
Temat założony przez niniejszego użytkownika
» 2012-04-06 19:46:18
OK, pomogło.
Po prostu po zagnieżdżałem niepotrzebnie pętle w sobie, bo całość jednak musi lecieć w głównej pętli programu.
P-53981
« 1 » 2
  Strona 1 z 2 Następna strona