2012-05-25 19 views
0

我目前正在使用Direct X 9.0在C#中進行遊戲。我已經完成了幾乎所有的事情,但是我遇到了跳躍的物理問題。我爲Y和X座標聲明瞭變量。如何在C#/ Direct X 9.0中製作角色跳轉?

我想知道是否有一個簡單的方法來做到這一點。我已經搜索了高和低的答案,但我發現的答案要麼不相關/要麼使用不同的編程語言,如XNA。

我目前有一個布爾變量設置來檢查是否已按下W觸發任何代碼讓他跳。我一直在搞亂諸如此類。

if (Form1.jump == true) 
{ 
    Playerypos = Playerypos - vel; 
    Playerxpos = Playerxpos + vel; 
    //Form1.jump = false; 
} 

哪一個沒有那麼好。

+0

我確定這裏的傢伙可以幫忙,但也許更好的在這裏作爲它的遊戲特定:http://gamedev.stackexchange.com/ – WraithNath

+4

'if(Form1.jump == true)'ಠ_ಠ – qJake

回答

1

對於跳躍,您需要多一點,而不是四處移動:您需要加速的概念。

基本上,當您檢測到按下跳轉鍵時,您將垂直加速度設置爲某個正值。你的物理循環將不得不改變,不斷地將你的加速度加到你的位置上,然後在你的加速度上加上重力(因此減小它然後把它變成負值再降低)。將您的位置固定在您的地面/飛機/最低位置(*),然後您就可以開始設置! (*)從來沒有像它看起來那麼容易,你必須在這裏實施某種光線投射算法,因爲你會以大增量跳躍並可能落地。認爲箱子相交線而不是點線。

+0

感謝您的回覆,它已經清除了幾位。 – user1417695