c#模擬平拋運(yùn)動(dòng)動(dòng)畫(huà)的方法詳解
更新時(shí)間:2013年06月08日 15:15:37 作者:
本篇文章是對(duì)使用c#模擬平拋運(yùn)動(dòng)動(dòng)畫(huà)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
主要使用Graphics對(duì)象的FillElliple繪制一圓形小球,然后分時(shí)控制其顯示位置即可。
步驟主要如下:
1.新建窗體,然后在代碼模式中添加如下函數(shù)分別控制x和y軸方向運(yùn)動(dòng)速度。
private int runTime=25;//設(shè)置平拋運(yùn)動(dòng)時(shí)間(動(dòng)畫(huà)持續(xù)時(shí)間)
private double Xs(double t)
{
double v0 = 15;
return v0 * t;
}
private double Ys(double t)
{
double g = 9.8;
return 0.5 * g * t * t;
}
2.下面我將控制運(yùn)動(dòng)方法綁定至了主窗體的click事件上,可以換之。代碼如下:
private void Form1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
double t;
for (t = 0; t < runTime; t += .5)
{
System.Threading.Thread.Sleep(10);
g.Clear(this.BackColor);
double x = Xs(1.5 * t) + 50;
double y = Ys(0.3 * t) + 5;
g.FillEllipse(Brushes.Red, Convert.ToSingle(x), Convert.ToSingle(y), 30, 30);
}
}
步驟主要如下:
1.新建窗體,然后在代碼模式中添加如下函數(shù)分別控制x和y軸方向運(yùn)動(dòng)速度。
復(fù)制代碼 代碼如下:
private int runTime=25;//設(shè)置平拋運(yùn)動(dòng)時(shí)間(動(dòng)畫(huà)持續(xù)時(shí)間)
private double Xs(double t)
{
double v0 = 15;
return v0 * t;
}
private double Ys(double t)
{
double g = 9.8;
return 0.5 * g * t * t;
}
2.下面我將控制運(yùn)動(dòng)方法綁定至了主窗體的click事件上,可以換之。代碼如下:
復(fù)制代碼 代碼如下:
private void Form1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
double t;
for (t = 0; t < runTime; t += .5)
{
System.Threading.Thread.Sleep(10);
g.Clear(this.BackColor);
double x = Xs(1.5 * t) + 50;
double y = Ys(0.3 * t) + 5;
g.FillEllipse(Brushes.Red, Convert.ToSingle(x), Convert.ToSingle(y), 30, 30);
}
}
您可能感興趣的文章:
- 讓Silverlight 2.0動(dòng)畫(huà)動(dòng)起來(lái)Making Silverlight 2.0 animation Start(不能運(yùn)動(dòng)原因)
- javascript動(dòng)畫(huà)之圓形運(yùn)動(dòng),環(huán)繞鼠標(biāo)運(yùn)動(dòng)作小球
- JS多物體 任意值 鏈?zhǔn)?緩沖運(yùn)動(dòng)
- js實(shí)現(xiàn)運(yùn)動(dòng)logo圖片效果及運(yùn)動(dòng)元素對(duì)象sportBox使用方法
- js運(yùn)動(dòng)框架_包括圖片的淡入淡出效果
- JS勻速運(yùn)動(dòng)演示示例代碼
- JS實(shí)現(xiàn)勻速運(yùn)動(dòng)的代碼實(shí)例
- JS實(shí)現(xiàn)多物體緩沖運(yùn)動(dòng)實(shí)例代碼
- JS運(yùn)動(dòng)框架之分享側(cè)邊欄動(dòng)畫(huà)實(shí)例
- JS運(yùn)動(dòng)基礎(chǔ)框架實(shí)例分析
- js運(yùn)動(dòng)動(dòng)畫(huà)的八個(gè)知識(shí)點(diǎn)
相關(guān)文章
C#定制Excel界面并實(shí)現(xiàn)與數(shù)據(jù)庫(kù)交互的方法
這篇文章主要介紹了C#定制Excel界面并實(shí)現(xiàn)與數(shù)據(jù)庫(kù)交互的方法的相關(guān)資料,需要的朋友可以參考下2015-11-11C#?基于TCP?實(shí)現(xiàn)掃描指定ip端口的方式示例
本文主要介紹了C#基于TCP實(shí)現(xiàn)掃描指定ip端口的方式示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11c#中directory 和directoryinfo的使用小結(jié)
當(dāng)使用C#處理目錄時(shí),可以使用?System.IO?命名空間中的?Directory?和?DirectoryInfo?類(lèi)來(lái)執(zhí)行各種目錄操作,本文主要介紹了c#中directory 和directoryinfo的使用小結(jié),感興趣的可以了解一下2024-02-02C# 構(gòu)造函數(shù)如何調(diào)用虛方法
這篇文章主要介紹了C# 構(gòu)造函數(shù)如何調(diào)用虛方法,文中講解非常詳細(xì),示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07C#調(diào)用EXE文件實(shí)現(xiàn)傳參和獲取返回結(jié)果
本文主要介紹了C#調(diào)用EXE文件實(shí)現(xiàn)傳參和獲取返回結(jié)果,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01