當前位置:遊戲中心平台 - 遊戲盒子 - C#怎麽寫讓遊戲對象左右移動的代碼?

C#怎麽寫讓遊戲對象左右移動的代碼?

這是遊戲的基本算法,我做了個簡單的例子。

如果妳把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);

}

}

  • 上一篇:玩遊戲電腦需要多大內存?
  • 下一篇:如何成為壹名優秀的管理者?
  • copyright 2024遊戲中心平台