簡體   English   中英

LibGDX:移動然后立即停止box2d

[英]LibGDX: move and then stop box2d immediately

我正在LibGDX中的一個項目上。 這是一個2D平台游戲。 你可以說這就像超級馬里奧。

所以這就是我將播放器向右移動的方式:

if (Gdx.input.isKeyPressed(Input.Keys.RIGHT))
    player.b2body.applyLinearImpulse(new Vector2(0.1f, 0), player.b2body.getWorldCenter(), true);
}

當我離開鑰匙時,播放器仍在移動。 (我認為他的身體上仍然有“線性沖動”力)。

我該如何停止?

我的問題可能很簡單:在按住鍵的同時,在LibGDX上沿一個方向移動實體的最佳方法是什么? 當我離開鑰匙時,播放器立即停止。

bdw-我嘗試過“ setTransform”,並且當身體接觸其他對象時會出現問題-而且sahpe出現在屏幕上其余游戲的“之前”(您可以在調試時看到它)

謝謝。

您的方法還可以。 我還建議您設置身體的最大速度:

if (Gdx.input.isKeyPressed(Input.Keys.RIGHT) && player.b2body.getLinearVelocity().x < maxSpeed)
    player.b2body.applyLinearImpulse(new Vector2(0.1f, 0), player.b2body.getWorldCenter(), true);
}

通過使用setLinearVelocity方法立即停止身體。

player.b2body.setLinearVelocity(0f, 0f);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM