Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Peli jumittuu

mika132 [13.10.2010 17:00:43]

#

Eli teinpäs itse enginen tällä kertaa alusta asti ja tulos on se, että peli jumittuu jostain syystä. Se menee "Ei vastaa" tilaan.


main.cpp
game.h


controls.h ei ole vielä mitään sisältöä niin en laittanut sitä tähän.

Jokotai [13.10.2010 17:22:44]

#

Miten se menee? Milloin se menee?

hunajavohveli [13.10.2010 17:53:28]

#

Sinulla on tuolla silmukassa ainakin

if(nappi[SDLK_ESCAPE]) {
    pois=true;
}

mutta luet näppäinten tilan ainoastaan kerran ennen silmukan alkua.

mika132 [13.10.2010 20:32:26]

#

Siis se menee heti kun peli aukeaa. Kuvat se kyllä ehtii piirtämään, mutta sen jälkeen peli on aivan jumissa. Pelkkä tiimalasi pyörii ja tehtävänhallinnasta näkee, että ei vastaa.

sqwiik [13.10.2010 21:23:17]

#

Kuten hunajavohveli jo mainitsi, et lue syötteitä pääsilmukassa jolloin sitä ei voi lopettaakaan. Lisäksi silmukka syö ilman delayta prossutehoa hyvinkin suurella kouralla. Nämä molemmat tekevät aiheuttavat sen että peli jumahtaa kiinni kympillä.

Ongelman kuuluisi ratketa siirtämällä seuraava rivi pääsilmukkaan (eli tuon rivin while(pois==false){ alle):

nappi = SDL_GetKeyState(NULL);

Metabolix [13.10.2010 21:36:27]

#

sqwiik kirjoitti:

Ongelman kuuluisi ratketa siirtämällä seuraava rivi pääsilmukkaan ... SDL_GetKeyState(NULL);

SDL_GetKeyState ei päivitä näppäinten tiloja vaan palauttaa vain osoittimen taulukkoon. Silmukassa pitäisi joko lukea viestit tai kutsua funktiota SDL_PumpEvents.

sqwiik [14.10.2010 09:01:54]

#

Ah joo, anteeksi väärä tieto. Ei pitäisi vastailla mitään väsyneenä...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta