![]() |
Multimedia »
General Graphics »
Graphics
Intermediate
Simple Arrow AnimationBy NinethSenseThis article and code explains how we can implement simple animations with out much technical skills. |
C#, .NET, Win2K, WinXP, Visual Studio, GDI+, Dev
|
|
Advanced Search |
|
|
|
||||||||||||||||
This simple program explains how simple animations are implemented, using for loops etc.
Actually, this program was made for my Instant Messaging Client - Gaim. I needed to know when my boss come online and when he went offline. Gaim has a feature called "Buddy Pounce" which allows users to trigger events. As per my logic, when a user logs in, my application will give me a signal by flying an arrow from right-bottom to left-top. And when he goes offline, the arrow moves from left-top to right-bottom.
The images are stored as resources, and I call them depending on the value of Status:
this.BackgroundImage = Resource1.arrow2;
I have used this code to check whether the user is logged in or logged off. This accepts command line arguments. When Status is true, it means "LogIn", otherwise it means "LogOff".
if (args.Length > 0)
{
if (args[0].ToString() == "logoff")
{
Status = false;
}
}
The animation logic is placed inside a Timer_Tick method. Inside the method, the screen width and height are validated, so this program will work under all screen resolutions. An Application.DoEvents(); call is placed in between, to avoid system concentrating on this app only.
private void timer1_Tick(object sender, EventArgs e)
{
Application.DoEvents();
if (Program.Status)
{
if (this.Top <= 0 || this.Left <= 0)
{
timer1.Enabled = false;
Application.Exit();
}
this.Left -= 25;
this.Top -= 15;
}
else
{
if (this.Top > Screen.GetBounds(this).Height ||
this.Left > Screen.GetBounds(this).Width)
{
timer1.Enabled = false;
Application.Exit();
}
this.Left += 25;
this.Top += 15;
}
}
This is my second version of this program but, this is my first version of this article.
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 20 Jun 2006 Editor: Smitha Vijayan |
Copyright 2006 by NinethSense Everything else Copyright © CodeProject, 1999-2009 Web13 | Advertise on the Code Project |