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

isKeyPressed nie działa, brak reakcji

Ostatnio zmodyfikowano 2015-04-24 17:19
Autor Wiadomość
cysio528
Temat założony przez niniejszego użytkownika
isKeyPressed nie działa, brak reakcji
» 2015-04-23 15:58:51
Witam
Rozpocząłem dzisiaj swoją przygodę z SFML 2.0. Niestety napotkałem problem. W moim programie testowym nie działa funkcja isKeyPressed. Pozostałe eventy jakie do tej pory sprawdziłem działąją bez zarzutu.
Poniżej wklejam link do kodu programu
http://wklej.to/zRhGZ

Nie działa przy zastosowaniu strzałek, również po zmianie na WSAD nie działa.
ktoś coś pomoże? Ewentualnie jak dostrzeżecie inne błędy to proszę o ich wytknięcie.
Z góry dziękuję za pomoc
P-131328
czosnek17
» 2015-04-23 17:13:26
W pętli zdarzeń robi się tak
C/C++
if( zdarzenie.type == sf::Event::KeyPressed && zdarzenie.key.code == sf::Keyboard::Escape )
http://cpp0x.pl/kursy​/Kurs-SFML-2-x-C++/Podstawy​/Obsluga-zdarzen-klawiatura-mys​z-i-inne​/468

Poza pętlą
C/C++
if( sf::Keyboard::isKeyPressed( sf::Keyboard::Right ) )
http://cpp0x.pl/kursy​/Kurs-SFML-2-x-C++/Podstawy​/Bezposredni-dostep-do-klawiatu​ry-myszy-i-joysticka​/469
P-131333
cysio528
Temat założony przez niniejszego użytkownika
» 2015-04-23 18:26:17
Dzięki wielkie, tak jak przypuszczałem głupi błąd.

Jeszcze mam jedno pytanie, po zamknięciu programu mam dalej program w procesach i zanim ponownie skompiluję muszę ubić proces. Co z tym zrobić?
P-131336
czosnek17
» 2015-04-23 20:23:07
Tak jest bo pętla główna cały czas działa. Zmień jej warunek http://cpp0x.pl/kursy​/Kurs-SFML-2-x-C++/Podstawy​/Pierwsza-aplikacja/467
P-131343
cysio528
Temat założony przez niniejszego użytkownika
» 2015-04-24 12:55:34
Faktycznie, głupie błedy.

Jeszce mam jedno pytanie, dotyczące funkcji getPoint. Czytam tą dokumentację na stronie sfml ale szczerze mówiąc nie do końca wiem jak się tym posługiwać. W kodzie do którego link wkleję niżej chciałbym pobierać współrzędne jednego z wierzchołków wielokąta aby sprawdzać kolizje i czy nie wyszło poza ekran.
Chodzi o 110 linijkę: sf::Vector2f(xv,yv);=wielokat.getPoint(1);

http://wklej.to/IPzTH

Będę wdzięczny za wszelkie podpowiedzi
P-131365
czosnek17
» 2015-04-24 17:19:47
C/C++
sf::Vector2f w = wielokat.getPoint( 0 );
std::cout << w.y + wielokat.getGlobalBounds().top << std::endl;
getPoint zwraca współrzędne które podałeś do setPoint.

Kod wstawiaj w
[cpp] [/cpp]
P-131378
« 1 »
  Strona 1 z 1