![]() |
Languages »
C# »
Samples
Intermediate
Simulate the "Nudge" EffectBy Polis PilavasA very basic idea for the MSN-style nudging effect,, available on the latest MSN Messenger v7.0, on a Windows Form. |
C#, .NET, Win2K, WinXP, Win2003, WinForms, VS.NET2003, Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
A small class which layouts my basic idea in order to establish the nudge effect that is available under the latest version of MSN Messenger is presented here.
I am not a fanatic user of MSN Messenger, since whenever I sign in, I have to spend endless amounts of time talking with each one of my online buddies, and at the end I don't get any work done. But anyways, this is not the point of the article...
As soon as I downloaded the latest version of MSN Messenger (v7.0), I couldn't help noticing some new buttons they added that provide users with some "cool" functionalities (e.g. for sending a wink). The one that I really liked though was the nudge effect that actually shakes the form around, supposedly waking up whoever it is you are chatting with. I came up with a very small method which tries to simulate this effect and wrapped it in an even smaller class just for the sake of the article. Now, there are many ways to implement this effect and even more things to include in this class (e.g. add sound functionality for being able to nudge your form with different WAV sounds, adding nudge time-intervals by implementing timers for shaking the form, and so on...).
I just wanted to present the basic idea of shaking the form around a bit, and since I wasn't really sure where to post this code snippet for people to take a look at, I decided to wrap it up in a class and post it in an article.
Since class "Nudge" is a really small class, I don't think I need to explain any details. The small portion of code that is included here is quite self-explanatory I think. The only thing I want to mention here is that currently, nudging is based on a loop which is not the best tactic. A more consistent way for implementing it is to let the user decide the length of the nudge by implementing a timer.
Anyways, now that we got this out of the way, the basic idea here is the generation of random numbers that are assigned to the form's location inside a loop. After the loop has finished, the form's original location is restored.
// The only method of the class :)
public void NudgeMe()
{
// Store the original location of the form.
int xCoord = this.tmpFrm.Left;
int yCoord = this.tmpFrm.Top;
// An integer for storing the random number each time
int rnd = 0;
// Instantiate the random generation mechanism
Random RandomClass = new Random();
for (int i = 0; i <= 500; i++)
{
rnd = RandomClass.Next(xCoord + 1, xCoord + 15);
this.tmpFrm.Left = rnd;
rnd = RandomClass.Next(yCoord + 1, yCoord + 15);
this.tmpFrm.Top = rnd;
}
// Restore the original location of the form
this.tmpFrm.Left = xCoord;
this.tmpFrm.Top = yCoord;
}
The usage of the Nudge class is quite straight-forward. From within the form that you wish to nudge, just enter something like this:
Nudge nudged = new Nudge(this);
nudged.NudgeMe();
That's all.
| You must Sign In to use this message board. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads.
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 15 Apr 2005 Editor: Sumalatha K.R. |
Copyright 2005 by Polis Pilavas Everything else Copyright © CodeProject, 1999-2010 Web17 | Advertise on the Code Project |