Problemovy redraw v hre

Programovacie jazyky, rady, poradňa...
Anti
Expert
Expert
Príspevky: 187
Registrovaný: 16 feb 2006, 18:04

Problemovy redraw v hre

Príspevok od používateľa Anti »

Pisem si hru pomocou knizne SDL.

Vlozil som si tam vlastny kurzor, ktory pri kazdom pohybe mysi prekreslujem na autualne x,y suradnice

Kód: Vybrať všetko

 while(quit == false)		                                                // forever loop												
	{        
	    if(SDL_PollEvent(&event))						   					    // ak je nejaky event					
        {
            switch(event.type)
            {
                case SDL_MOUSEMOTION:                                           // ak je pohyb mysou
                    reDraw();
                    moveCursor(event.motion.x, event.motion.y);
                    SDL_Flip(screenSurf);
                break;

Kód: Vybrať všetko

void moveCursor(int motionX, int motionY)
{
    rectCursor.x = motionX;
    rectCursor.y = motionY;
    
    SDL_BlitSurface(cursorSurf, NULL, screenSurf, &rectCursor);
}
Pri kazdom pohybe musim prekreslit celu scenu pod kurzorom, aby za nim neostavala ciara.

Moje riesenie ja vsak uplne nevhodne, mrhajuce systemovymi prostriedkami a hlavne hra blika, trha.

Skusal som citat nieco o fps a timeroch, no nejako sa do mna nechce dostat.

Mozete mi niekto objasnit?
johny3212
Star
Star
Používateľov profilový obrázok
Príspevky: 532
Registrovaný: 17 feb 2008, 19:56
Bydlisko: Terchova
Kontaktovať používateľa:

Príspevok od používateľa johny3212 »

skus pouzit referencie funkcie a staticke premenne . najdi si tutorialy, su na to presne navody, ako co robit.
Anti
Expert
Expert
Príspevky: 187
Registrovaný: 16 feb 2006, 18:04

Príspevok od používateľa Anti »

Nemozete mi to niekto vysvetlit vlastnymi slovami?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Veľa hier sa neustále prekresľuje, takže problém bude v tvojom prípade asi komplikovanejší. Používaš tam double buffer?
Anti
Expert
Expert
Príspevky: 187
Registrovaný: 16 feb 2006, 18:04

Príspevok od používateľa Anti »

ano pouzivam
Napísať odpoveď