Home › Forums › C Programming › animation › Reply To: animation
Hello
Here is a portion of a program for “Bank managgement system” which I worte while I was in my Bachelors of IT. To make an animation in C Language you will need to create the image at run time and move that image on the screen. What i have done is created a bitmap using circles, arcs & different colors, and tried to make some sort of a logo, then put the whole graphics area in an image using getimage() function & used putimage() to show the image on the screen. To make an animation in C Language I have put this image in a loop which animates the image on the screen in scrolling mode.
1 2 3 | for(int count=1;count<300;count+=2){<br /> putimage(1+count,100,image,COPY_PUT);<br /> } |
Also I have made another animation which makes a complete line from a single point.
1 2 3 4 5 | for(int down=0;down<640;++down)<br /> {<br /> delay(5);<br /> line(1,220,1+down,220);<br /> } |
And at the end I have made another animation effect using the line() function again.
1 2 3 | for(int bottom=0;bottom<300;bottom+=4)<br /> line(1,220+bottom,640,220+bottom);<br /> |
Below is the main source code of the complete animation. You can modify it according to your needs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include<iostream.h><br /> #include<conio.h><br /> #include<graphics.h><br /> #include<alloc.h><br /> #include<dos.h><br /> #include<fstream.h><br /> #include<stdlib.h><br /> #include<string.h><br /> void main(void){<br /> void *image;<br /> int size;<br /> int dr=9,mode=2;<br /> initgraph(&dr,&mode,"..\bgi");<br /> size=imagesize(140,140,500,250);<br /> image=malloc(size);<br /> setfillstyle(SOLID_FILL,GREEN);<br /> circle(200,200,50);<br /> floodfill(200,200,WHITE);<br /> setcolor(LIGHTGRAY);<br /> circle(200,200,19);<br /> setcolor(WHITE);<br /> circle(200,200,18);<br /> circle(200,200,49);<br /> circle(200,200,53);<br /> circle(200,200,20);<br /> <br /> arc(215,215,350,90,30);<br /> arc(210,182,90,194,30);<br /> arc(180,195,180,300,30);<br /> settextstyle(1,HORIZ_DIR,1);<br /> setcolor(LIGHTGRAY);<br /> outtextxy(270,180,"National Bank");<br /> <br /> outtextxy(270,185,"___________________");<br /> outtextxy(270,210,"Of Pakistan Pvt Ltd.");<br /> settextstyle(0,HORIZ_DIR,0);<br /> setcolor(DARKGRAY);<br /> outtextxy(270,240,"COPYRIGHT 2002");<br /> getimage(141,141,499,259,image);<br /> cleardevice();<br /> for(int count=1;count<300;count+=2)<br /> putimage(1+count,100,image,COPY_PUT);<br /> for(int down=0;down<640;++down)<br /> {<br /> delay(5);<br /> line(1,220,1+down,220);<br /> }<br /> setcolor(BLUE);<br /> for(int bottom=0;bottom<300;bottom+=4)<br /> line(1,220+bottom,640,220+bottom);<br /> free(image);<br /> getch();<br /> closegraph();<br /> }<br /> |