![]() |
Multimedia »
General Graphics »
General
Beginner
Simple Ball Animation with border collision using VS 2005 and .NET 2.0By Zakaria Bin Abdur RoufA very primitive article on simple animation of balls using double buffering technique. |
C#, VB 6, .NET, WinXPVS2005, Dev
|
||||||||
|
Advanced Search |
|
|
|
||||||||||||||||

In this project I have demonstrated a simple technique on how we can animate some balls in a Picture Box. The balls collides with the walls and change directions. Using the double buffering of .NET 2.0 it is very easy to handle large processing of graphical animation.
I have created a Ball class which can be reused and extended for other projects as well. The Ball class has the following methods:
DrawBall(Graphics g) DrawBall(Graphics g, int move_x, int move_y) MoveBall(Ball ball, int screenHeight, int screenWidth)
The DrawBall with the single parameter draws an ellipse on the Graphics object. On the other hand the Drawball with three parameters draws the updated ball on the screen.
The ball is created using the following code:
g.DrawEllipse(new Pen(_ballColor), _x, _y, _width, _height); // Create solid brush. SolidBrush redBrush = new SolidBrush(_ballColor); // Fill ellipse on screen g.FillEllipse(redBrush, _x, _y, _width, _height);
The double buffering is achieved by the following code:
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true); this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); this.SetStyle(ControlStyles.UserPaint, true);
for (int i = 0; i < TOTAL_BALLS; i++) { manyBall[i].MoveBall( manyBall[i], pictureBox1.Height, pictureBox1.Width ); } this.Refresh();To Refresh the picture box on where we are painting the balls I wrote:
private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { for(int i = 0; i < TOTAL_BALLS; i++) { manyBall[i].DrawBall(e.Graphics); } }
We have seen how we can animate balls using simple animation techniques. Hope you like the code. Till then Eat Bytes Regularly for good health.
| You must Sign In to use this message board. | |||||||||||||||
|
|||||||||||||||
|
|||||||||||||||
|
|||||||||||||||
|
|||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 12 May 2006 Editor: |
Copyright 2006 by Zakaria Bin Abdur Rouf Everything else Copyright © CodeProject, 1999-2009 Web20 | Advertise on the Code Project |