Skip to main content

Simple Animation Using C

Here i have used fillpoly function to draw the object body and used fillellipse function to draw tier.
animation is done by looping through the objects x & y position until user hits a key. Keypress event is achived  by using kbhit function. Smoothness of animation is controlled by delay function.

Change the delay values to change the animation speed

Source:

#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
void main()
{
int gd=DETECT,gm,i=-300,j;
int poly[16]={100,100,250,100,250,50,300,50,325,90,325,140,100,140,100,100};
int tpoly[16]={100,100,250,100,250,50,300,50,325,90,325,140,100,140,100,100};
initgraph(&gd,&gm,"");
getch();
while(!kbhit())
{
for(j=0;j<16;j+=2)
{
poly[j]=tpoly[j]+i;
}
fillpoly(8,poly);
setfillstyle(5,7);
bar(275+i,60,295+i,85);
setfillstyle(5,8);
fillellipse(140+i,140,20,20);
fillellipse(280+i,140,20,20);
setfillstyle(1,0);
fillellipse(140+i,140,10,10);
fillellipse(280+i,140,10,10);
setcolor(15);
line(0,160,639,160);
setcolor(0);
setfillstyle(1,4);
delay(20);
cleardevice();
i++;
if(i>550)
i=-300;
}
closegraph();
}

Output:


Comments

  1. hi frnds.. i need a help.. i need a boathouse with some animation... please help me...

    ReplyDelete
  2. bro tnq so much .......
    i need a help from u if u dnt mind...
    actually i'm dng a prjct in c graphics --"plane crash animation twin towers(USA)"...
    for that i had completed the flight takeoff, but i need some advices from u to take some more steps to do it properly ...w8ng for a quick reply

    ReplyDelete
  3. Visit this blog for all your graphical needs:
    http://cse-ict.blogspot.in/

    ReplyDelete
  4. Very nice. Thank you.

    Visit this blog for simple animations using C Programs with full source code.
    http://dummiesletusc.blogspot.com

    ReplyDelete

Post a Comment

Popular posts from this blog

Random Bouncing Ball Animation

Simple animation of random balls that bounces within the screen Source: #include<stdio.h> #include<graphics.h> #include<conio.h> #include<dos.h> #include<math.h> void drawBall(struct ball *b, int color); struct ball{ int x, y; int dx, dy; int radius; }; void main() { int gd=0, gm=VGAHI; int i; struct ball b[10]; initgraph(&gd, &gm, ""); for(i=1;i<=15;i++){ b[i].radius = rand()%20; b[i].x=rand()%getmaxx(); b[i].y=rand()%getmaxy(); b[i].dx=2; b[i].dy=4; } while(!kbhit()) { delay(5); cleardevice(); for(i=1;i<=15;i++) drawBall(&b[i],i); } closegraph(); } void drawBall(struct ball *b, int color){ setfillstyle(1,color); setcolor(color); fillellipse(b->x, b->y, b->radius, b->radius); if(b->x+b->radius > getmaxx() || b->x-b->radius<0) b->dx = -b->dx; if(b->y+b->radius > getmaxy() || b->y-b->radius<0) b->dy = -b->dy; b->x+=b-...

Things you may not know about CSS

Grammatical error like style using CSS: .grammar{ -moz-text-decoration-color: green; -moz-text-decoration-line: underline; -moz-text-decoration-style: wavy; text-decoration-color: green; text-decoration-line: underline; text-decoration-style: wavy; } Output : CSS 'empty-cells' Property table{ empty-cells:hide; }    CSS @supports  Usually we do CSS feature-test using JavaScript. Now it can be done in CSS with a new property '@supports' . So for Firefox 22+ , Chrome 28+, Opera 12.1+ supports this feature. So we can look forward to using it soon! Example: /* basic usage */ @supports(prop:value) { /* more styles */ } /* real usage */ @supports (display: flex) { div { display: flex; } } /* testing prefixes too */ @supports (display: -webkit-flex) or (display: -moz-flex) or (display: flex) { section { display: -webkit-flex; display: -moz-flex; display: f...