如果妳把VX+和VY+從數學中刪除。Min(VX+),它將變成勻速運動。
直接復制以覆蓋form類操作,無需控件。
公共?班級?最簡單的加速運動
暗淡?左右,上下?作為?整數
暗淡?x,?y,?VX?VY?VA?作為?兩倍
暗淡?WithEvents?時鐘?作為?新的?計時器
暗淡?WithEvents?移動控件?作為?新的?標簽
私人?Sub?Form1_Load(發送方?作為?對象,?e?作為?EventArgs)?手柄?我的基地。負荷
我。關鍵評論?=?真實的
VA?=?0.5
x?=?300.0
y?=?300.0
移動控制。背景色?=?顏色。中等人口
移動控制。尺寸?=?新的?尺寸(60,?60)
控制。添加(移動控件)
時鐘。區間?=?25
啟用時鐘?=?真實的
結束?潛水艇
私人?Sub?Form1_KeyDown(發件人?作為?對象,?e?作為?KeyEventArgs)?手柄?我的基地。按鍵
如果?e .鍵碼?=?鑰匙。向上?然後呢?上下?=?-1
如果?e .鍵碼?=?鑰匙。下來?然後呢?上下?=?1
如果?e .鍵碼?=?鑰匙。向左?然後呢?關於什麽?=?-1
如果?e .鍵碼?=?鑰匙。對嗎?然後呢?關於什麽?=?1
結束?潛水艇
私人?Sub?Form1_KeyUp(發件人?作為?對象,?e?作為?KeyEventArgs)?手柄?我的基地。擊鍵
如果?e .鍵碼?=?鑰匙。向上?然後呢?上下?=?0
如果?e .鍵碼?=?鑰匙。下來?然後呢?上下?=?0
如果?e .鍵碼?=?鑰匙。向左?然後呢?關於什麽?=?0
如果?e .鍵碼?=?鑰匙。對嗎?然後呢?關於什麽?=?0
結束?潛水艇
私人?Sub?Clock _Tick(發件人?作為?對象,?e?作為?EventArgs)?手柄?時鐘。滴答聲
VX?=?數學。閔(VX?+?關於什麽?*?VA,?10)
VY?=?數學。閔(VY?+?上下?*?VA,?10)
x?+=?甲硫膦酸丙胺乙酯
y?+=?小牛肉酵母
如果?x?& lt?0?然後呢?x?=?2?:?VX?=?VX
如果?y?& lt?0?然後呢?y?=?2?:?VY?=?VY
如果?x?& gt?寬度?-?移動控制。寬度?然後呢?x?=?寬度?-?移動控制。寬度?-?2?:?VX?=?VX
如果?y?& gt?身高?-?移動控件。身高?然後呢?y?=?身高?-?移動控件。身高?-?2?:?VY?=?VY
移動控制。位置?=?新的?點(X,?y)
結束?潛水艇
結束?不好意思,是VB版的。以下是C#版本。
公共?部分?班級?Form1?:?形式?{
公共?Form1()?{
initialize component();
}
int?左右;
int?上下;
雙倍?x;
雙倍?y;
雙倍?VX;
雙倍?VY;
雙倍?VA;
定時器?時鐘?=?新的?timer();
標簽?移動控件?=?新的?label();
私人?作廢?Form1_Load(對象?發件人?EventArgs?e)?{
這個。關鍵評論?=?真實;
VA?=?0.5;
x?=?300.0;
y?=?300.0;
移動控制。背景色?=?顏色。中等人口;
移動控制。尺寸?=?新的?尺寸(60,?60);
控制。添加(移動控件);
按鍵?+=?form 1 _ KeyDown;
KeyUp?+=?form 1 _ KeyUp;
時鐘。滴答?+=?Clock _ Tick
時鐘。區間?=?25;
啟用時鐘?=?真實;
}
私人?作廢?Form1_KeyDown(對象?發件人?KeyEventArgs?e)?{
如果?(e.KeyCode?==?鑰匙。向上)
上下?=?-1;
如果?(e.KeyCode?==?鑰匙。向下)
上下?=?1;
如果?(e.KeyCode?==?鑰匙。左)
關於什麽?=?-1;
如果?(e.KeyCode?==?鑰匙。右)
關於什麽?=?1;
}
私人?作廢?Form1_KeyUp(對象?發件人?KeyEventArgs?e)?{
如果?(e.KeyCode?==?鑰匙。向上)
上下?=?0;
如果?(e.KeyCode?==?鑰匙。向下)
上下?=?0;
如果?(e.KeyCode?==?鑰匙。左)
關於什麽?=?0;
如果?(e.KeyCode?==?鑰匙。右)
關於什麽?=?0;
}
私人?作廢?Clock _Tick(對象?發件人?EventArgs?e)?{
VX?=?數學。閔(VX?+?關於什麽?*?VA,?10);
VY?=?數學。閔(VY?+?上下?*?VA,?10);
x?+=?VX;
y?+=?VY;
如果?(X?& lt?0)?{?x?=?2;?VX?=?-VX;?}
如果?(Y?& lt?0)?{?y?=?2;?VY?=?-VY;?}
如果?(X?& gt?寬度?-?移動控制。寬度)?{?x?=?寬度?-?移動控制。寬度?-?2;?VX?=?-VX;?}
如果?(Y?& gt?身高?-?移動控制。身高)?{?y?=?身高?-?移動控件。身高?-?2;?VY?=?-VY;?}
移動控制。位置?=?新的?點((int)X,?(int)Y);
}
}