Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
SDL: Hry nejen pro Linux (13)

esmeralda
esmeralda (neregistrovaný)
14. 7. 2005 9:20

problem se zacyklnim

V prikladu pri obsluze zpravy MOUSEMOTION je napsano, ze by zde bylo vhodne zavolat SDL_WarpMouse, ale ze je pak problem se zacyklenim. Problem lze vyresit jednoduse. V dane metode si nadefinujeme statickou promenou:
static BOOL bWarpCalled = FALSE;

pokud nekd v metode zavolame SDL_WarpMouse tak tuto promenou nastavime na TRUE. Zacatek obsluhy udalosti MOUSEMOTION by pak vypadal nasledovne:

case SDL_MOUSEMOTION:
if(bWarpCalled)
{
bWarpCalled = FALSE;
return TRUE;
}
....
break;
Michal Turek
11. 8. 2005 19:43

Re: problem se zacyklnim

V podstate to same je i v prikladu ve clanku akorat se nepouziva promenna, ale testuje se poloha mysi - predpoklada se presouvani vzdy na stejne misto.

Vase reseni nepocita se dvema validnimi udalostmi ve fronte - tj. prvni (validni) se osetri, druha (validni) se bude ignorovat a treti (nevalidni, vlivem osetreni prvni) bez problemu projde. Mozna by to chtelo vytvorit program a odzkouset pri praktickem provozu, ale moc bych na uspech nevsazel, udalosti pohybu mysi se generuji hodne casto. A bude-li se predpokladat trochu narocnejsi hra, domyslete si sami...
Zasílat nově přidané příspěvky e-mailem