Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C/SDL, näppäimen luku kerran

Burton [08.02.2007 17:46:54]

#

Teen SDL:llä pientä highscore-järjestelmää peliini ja olen päässyt vaiheeseen, jossa pitäisi lukea näppäimistöltä kirjaimia ja tulostaa ne ruudulle. Olen onnistunut kaikessa muussa paitsi siinä, että kirjaimia tulee kerrallaan aivan liikaa. Kuinka voin rajoittaa luettujen näppäimien määrää?

Esim. jos kirjoitan nimeni burton, tulee bbbuuuuurrrrtttooooonnnn.

sqwiik [08.02.2007 17:52:56]

#

Laita kirjaimen lukeminen joko SDL_KEYUP- tai SDL_KEYDOWN-keskeytyksen alle sen sijaan, että luet koko näppäimistön tilaa jatkuvasti.

Burton [09.02.2007 15:46:26]

#

Minulla on näin:

SDL_PollEvent(&tapahtuma);
if (tapahtuma.type==SDL_KEYDOWN) {
        switch (tapahtuma.key.keysym.sym) {
            case SDLK_q:
            .
            .
            .
        }
}

Metabolix [09.02.2007 16:25:50]

#

Tuon tavan ongelma on se, että jos ei ole uutta viestiä, tapahtuma on sama kuin viimeksikin. Lisäksi käsittelet joka kierroksella vain yhden tapahtuman. Laita kaikki tapahtumankäsittely yhteen silmukkaan, tähän tapaan:

// Hoidetaan kaikki odottamassa olevat tapahtumat
while (SDL_PollEvent(&tapahtuma)) {
    // if (tapahtuma.type == ...)
}

Vastaus

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

Tietoa sivustosta