Koristi ovo :)
Postavi timer na 50ms timer.inetrval(50);
postavi koordinate centra kruga na xp = 200; yp = 200; a xp i yp definisi kao int;
i ne mozes koristiti samo ugao, vec ga moras konvertovati u radijane
i imaces savrseno glatku animaciju
onda ti ostaje da se igras. umesto ugao++ koristi ugao += nekavrednost;
evo ti sve
e da, i ne pomeraj prozor, vec postavi npr neki label koji ces pomerati
Code:
public System.Windows.Forms.Timer timerAnimShow;
public int ugao = 0;
public bool bIsShowAnimating = false;
public int xp = 0;
public int yp = 0;
public int r = 100;
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
bIsShowAnimating = true;
xp = 200; yp = 200;
timerAnimShow = new Timer();
timerAnimShow.Tick += new EventHandler(ShowMe);
timerAnimShow.Interval = 50;
timerAnimShow.Enabled = true;
timerAnimShow.Start();
}
void ShowMe(object sender, EventArgs e)
{
if(bIsShowAnimating)
{
ugao++;
if (ugao == 360) ugao = 1;
int dx = Convert.ToInt16((r * Math.Cos((Math.PI * ugao) / 180)));
int dy = Convert.ToInt16((r * Math.Sin((Math.PI * ugao) / 180)));
label1.Location = new Point(xp + dx, yp + dy);
}
}
}