2012-11-03 85 views
1

其假定,一個時間步長爲necesary以正確的速度運行遊戲,快速硬件將調整速度以30或60幀很慢,否則,遊戲將運行那麼快作爲硬件可以處理它。現在,我的遊戲在pc上按預期運行,但是在設備上啓動時(星系ace),身體移動非常緩慢,即使速度最快也不能超過,無論Body.AppliLinearImpulse或AppliForce是多少,此外,我已將setLinearVelocity更改爲非常高的數字,並始終保持相同的速度。 可能是libgdx box2d上的一個錯誤?或與我星系中的錯誤王牌的Android 2.3Box2D的libgdx上設備

+0

這可能有幾個原因,通過打印檢查您的fps。如果fps較低,則問題出在您的代碼或資源中。否則,如果fps是好的,那麼問題出現在你的「世界」中,你怎麼稱呼world.step(...)? 我用我自己的遊戲也測試過銀河王牌,它也使用libgdx,我沒有任何問題。 – Aliaaa

+0

我真的不知道是什麼問題。我已經嘗試過所有關於「世界」的值從1/60到一個整數,更高,fps是正常的,30或60,因爲我想,問題一直是「世界」,我也下載了例子從網絡上執行,並在設備上執行,並且是相同的事情:/在pc上運行得非常好,使用.AppliForce上的指定值。無論如何,Ÿ發現我想用MuseJoint,謝謝。 – user1795881

回答

1

你可能模擬Box2D的機構,同時通過在尺寸等於像素值。然而,Box2D以米爲單位運行,因此創建300米大小的物體真的會在整個模擬中降低天花板。

推薦的方法是使用任意比例(1M == 64PX)和縮小你的Box2D的系統 - 初始化和操作使用從PX轉換計值的機構。

這將允許更廣泛的各種運動的和速度更高的上限。有同樣的問題,並花了我一些時間弄清楚。