[英]Java Libgdx - Box2d setTransform multiple bodies with joints
從box2d setTransform()參考:
設置物體原點和旋轉的位置。 這會中斷任何接觸並喚醒其他物體。 操縱身體的變形可能會導致非身體行為。
我認為問題只是您嘗試移動身體的機制,而setTransform不是正確的方法。
而不是考慮使用
void com.badlogic.gdx.physics.box2d.Body.setLinearVelocity(Vector2 v)
您可以將v計算為身體終點和起點的減法。 當物體到達目標時,應處理停止物體(通過將其速度調零)。
請注意, setLinearVelocity不取決於您的重力
第二種解決方案是將setTransform設置為此“關節組”中的所有物體。 您可以遍歷實體並根據其起始位置和目標矢量移動它們
for(Body body : jointGroup)
{
body.setTransform(body.getPosition.x - someX, ...)
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.