2012-11-05 19 views
-2

我是一個巨大的新手,這是不是一個真正的編程問題,但在這裏我去,說我想要做一個遊戲,涉及捲起斜坡like this one:如何在Flash遊戲中添加坡道?

向上移動,類似於它是如何工作的在刺蝟索尼克老遊戲之類的東西中,我該怎麼去做,我在哪裏可以找到一個很好的方法來學習這個?

+0

以此開頭:http://www.amazon.com/Absolute-Beginners-Guide-2nd-Edition/dp/0672305100/ref=sr_1_1?ie=UTF8&qid=1352078203&sr=8-1&keywords=absolute+beginner%27s + guide + to + c – TheDarkIn1978

+1

「這不是一個真正的編程問題」 - 啊! –

回答

1

當你上坡時,你會獲得潛在的能量。有效地,你的動能變成潛在的能量。

K = 0.5 * m * v^2 

P = 0.5 * m * g * h 

其中:

  • K是動能
  • P是勢能
  • m是質量
  • v是速度
  • g重力
  • h是高度

因爲你是動畫,最簡單的就是用瞬時速度在當前幀估計在下一幀的位置。而且你避免了必須對方程進行積分。

所有你需要的是身高的變化。比方說,你擺脫h0h1 ......這給你一個新的動能K1,這意味着你的速度下降:

K1 = 0.5 * m * v^2 - (h1-h0) * m * g 

而獲得新的速度v1

0.5 * m * v1^2 = K1 

       = 0.5 * m * v^2 - (h1-h0) * m * g 

0.5 * m * (v1^2 - v^2) = -(h1-h0) * m * g 

v1 = sqrt(v^2 - (h1 - h0) * g) 

你再圖拿出你的新位置,把它夾到斜坡上並在那個位置找到正常的斜坡。您可以使用它來調整您的方向單位矢量,並將該矢量乘以新的速度,以獲得新的速度分量x,yz