2
我正在學習2D遊戲的簡單物理,並且希望得到我正在嘗試模擬的幫助。幫助在WPF中進行物理模擬
我有一間酒吧,將下降超過一個固定的球在地面上,下面的XAML:
<Canvas Background="CornflowerBlue">
<Rectangle Name="bar" Width="200" Height="20" Fill="Cornsilk" Canvas.Left="250" Canvas.Top="50" />
<Ellipse Name="ball" Height="50" Width="50" Fill="PaleGreen" Canvas.Left="380" Canvas.Top="250" />
</Canvas>
我所有的計算進行模擬下降由於重力作用,但什麼吧我真的需要幫助,一旦酒吧擊球,它會有一面在地面,另一面在球上,這可以用xaml來表示:
<Canvas Background="CornflowerBlue">
<Rectangle Name="bar" Width="200" Height="20" Fill="Cornsilk" Canvas.Left="250" Canvas.Top="246.675" RenderTransformOrigin="0.5,0.5" >
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-18.897"/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<Ellipse Name="ball" Height="50" Width="50" Fill="PaleGreen" Canvas.Left="380" Canvas.Top="250" />
</Canvas>
而且我不知道如何讓酒吧的左側撞到地面,而左側將以物理學術語來說是球。
我知道有很棒的物理引擎像Farseen一樣可用,但我只是想了解它如何在這種情況下工作。
我知道如何根據時間得到酒吧的Y,所以我一直檢查它,直到它與球粘在一起,但之後又是什麼?
謝謝!
爲了做這樣的事情,你將不得不基本編碼你自己的2D物理引擎。矩形將會附加一個2D Box Collider,並且該圓形將會有一個Circle/Sphere對撞機。每一次「嘀嗒」都需要檢查碰撞並根據需要施加力量。如果你不需要*自己寫這個,我會**強烈建議你找一個你可以使用的物理引擎。 – qJake 2011-04-12 18:28:30
@SpikeX你應該回答這個問題+1 – asawyer 2011-04-12 18:29:27
我沒有回答他的問題,因爲它沒有回答他的問題,而是更多地提出了「不要重新發明輪子」的建議。 (正如人們經常這樣做)。 – qJake 2011-04-12 18:30:23