Clearing the Screen

Started by
8 comments, last by pizza box 22 years, 4 months ago
I''m programming a tetris-style game using Window''s GDI. Every time I draw a rectangle it stays on the screen when I draw the next one, so I would leave a trail of rectangles whenever I moved the block. To solve this, I drew a big black rectangle the size of the screen to clear it before drawing the next frame, but I was wondering if there was a faster way to clear the screen, or perhaps a function that I could use? Thanks
Advertisement
Have you tried just drawing a black box over the tetris box? So you can use the same code that you used to draw the box but with black instead of your color.
Are you double buffering?
Thats what Ive been doing, but the box I draw is the entire screen so it clears out everything. The problem is that I can see the blocks flickering, so it is kind of slow. I was wondering if there are any built-in functions to solve this.
You dont have to draw a black box over the entire screen. Just a black one on same place and same size but black... Or double buffer. (drawing everything on a invisible area then copy it all to the screen.

/Mario

Mvh Mario..

Edited by - Dharma on December 13, 2001 8:21:03 PM
Warm regardsMario..
What API are you in? Doing double buffering by putting a black square over the screen is not double buffering. OpenGL uses this:
  //  Swap the buffers (double-buffering)SwapBuffers(window->hDC);  
If you will stick to using GDI... Below you have a link describing this.

http://www.winprog.org/tutorial/references.html

Mvh Mario..
Warm regardsMario..
Hey, try the function BitBlt
Sorry bad link.. this should work fine

http://www.winprog.org/tutorial-old/

Mvh Mario..
Warm regardsMario..
Thanks for the link. I wasn''t double buffering before, I had a late post. Hopefully things will run a little smoother now. Thanks

This topic is closed to new replies.

Advertisement