2014-10-03 66 views
0

我是AndEngine和Box2D的新手。請耐心等待。AndEngine Box2D擴展 - 縮放

我創建了一個新的項目,建立一個480x800的攝像頭,增加了一個32×32條,在地球引力產生的物理世界和丟棄的條紋。你看,它會下降。但對我來說這似乎並不「自然」;它太慢了。

然後我意識到,重力是米(m /秒2),而環境是像素。米和像素之間的轉換在哪裏?幕後應該有一個假設。我有任何控制權嗎?

Box2D如何知道它是從地面以下100米處(從距離看起來非常緩慢的地方觀察它)或距離地面1米(從靠近的地方觀察它)非常快)?

要測試該轉換是真正的問題,我乘以10的重力和它改善了「自然」。但我認爲應該有更復雜的方法將像素轉換爲米。

在此先感謝。我非常感謝您的意見。

+0

除以某個常量所有的像素尺寸從像素轉換爲物理單位。將物理尺寸乘以相同的值以將物理單位轉換爲像素。 http://www.box2d.org/forum/viewtopic.php?f=3&t=9827 – iforce2d 2014-10-04 13:40:27

回答

0

這是因爲@ iforce2d說的註釋。在AndEngine中默認值是32,因此32像素被認爲是一米。將像素轉換爲米時,將像素除以此值。從米轉換爲像素時,請使用該值進行乘法運算。你可以在org.andengine.extension.physics.box2d.util.constants.PhysicsConstants這個類中找到這個值。

的比例,然後在PhysicsFactory.create...方法中使用的,如果你不指定自己的。這些方法爲你創建物理體,以像素爲單位測量你的精靈大小,並將量表傳遞給Box2D。它也用在類構造函數PhysicsConnector中。如果32不適合你,請使用你自己的價值,但是你必須保持一致並且每次都使用它。