-1
有一個問題與更先進的物理我很確定這個問題只是與這一行代碼,因爲Y值。所以當我試圖在下降時移動我的角色時,他通常會左右移動,但是他的下降會變慢。重力問題使用Farseer物理
body.LinearVelocity = new Vector2(1,0)
有沒有辦法只改變這個x的值?或者有什麼辦法可以防止滑動,並且限制applyforce()或applylinearimpulse()的速度?
有一個問題與更先進的物理我很確定這個問題只是與這一行代碼,因爲Y值。所以當我試圖在下降時移動我的角色時,他通常會左右移動,但是他的下降會變慢。重力問題使用Farseer物理
body.LinearVelocity = new Vector2(1,0)
有沒有辦法只改變這個x的值?或者有什麼辦法可以防止滑動,並且限制applyforce()或applylinearimpulse()的速度?
通過將線速度設置爲1,0,可以使角色的水平速度爲1,垂直速度爲0.因此,您可以有效地防止墜落。
下面的代碼會做你期望的,因爲它保留了垂直速度。
body.LinearVelocity = new Vector2(1, body.LinearVelocity.y);
在某些(大多數)情況下,最好的力或衝動適用於使用本body.Apply...
字符適用於單個幀力和先知會自動計算正確的速度。請注意,每幀增加相同的力量或衝動會使移動速度加快。
它不會停止在y軸上的移動。我知道,我應該猜想,對於物理學家來說,te開發者不這麼認爲。感謝您的幫助 – KGSB 2014-10-09 23:31:13
它停止了迄今爲止計算的運動。但是,最後一步是施加重力。所以這就是爲什麼它減慢,而不是完全停止:)。 – 2014-10-10 09:45:52