2012-12-28 45 views
0

我剛剛開始使用Box2D並遇到了一個奇怪的問題。Box2D(LibGdx)getWorldPoint在碰撞後錯誤

我有一個簡單的函數來約束物體位置在一個預定義的區域內。

我通過獲取身體的世界位置,根據預定義區域的邊界框值檢查這一點,並將力施加到身體以將其保持在其中。

if (bodyWorldPos.x >= worldWidth) 
     body.setLinearVelocity(...); 

這工作正常。

但是,如果身體與另一個身體碰撞,這種簡單的方法就停止工作。 身體的世界上的地位,這樣的檢索:

body.getWorldPoint(body.getPosition()) 

返回錯誤的值。

這是一個Box2D的LibGDX錯誤還是我做錯了什麼?

回答

1

函數getWorldPoint將一個點從'本地座標'(相對於人體的0,0位置)轉換爲全局座標(相對於世界上的0,0)。

我想爲此目的,你可以只使用getPosition()。