Ok im having a go at making a little... thing in allegro after reading a few tutorials, so im a complete n00b.
This program is basicly ment to make a drawn circle move around the screen but insted it draws line because it's not erasing the old circle before drawing the new one... how do i fix this so there is only a cicle drawn on the screen at a time?
Cheers ~Matty-Alan~
Code:
#include <allegro.h>
int POSx = 320, POSy = 240;
BITMAP *buffer;
void DrawChar(int Cx, int Cy) //THIS FUNKTION HANDELS DRAWING THE Circle
{
acquire_screen();
circlefill(screen, Cx, Cy, 1, makecol(255,255,255));
draw_sprite( screen, buffer, 0, 0);
release_screen();
}
END_OF_FUNCTION();
void MoveChar(void) //THIS FUNKTION HANDELS Circle MOVEMENT AND PERMISSABILTY
{
if( key[KEY_UP] && POSy > 1)
POSy--;
else if( key[KEY_DOWN] && POSy < 640)
POSy++;
else if( key[KEY_LEFT] && POSx > 1)
POSx--;
else if( key[KEY_RIGHT] && POSx < 480)
POSx++;
}
END_OF_FUNCTION();
int main()
{
allegro_init();
set_gfx_mode(GFX_AUTODETECT,640,480,0,0);
install_keyboard();
set_color_depth(16);
while(!key[KEY_ESC]){
MoveChar();
DrawChar(POSx,POSy);
rest(10);
}
}
END_OF_MAIN();