簡體   English   中英

libgdx-box2d速度和力不起作用

[英]libgdx - box2d velocity and forces not working

我有一個非常簡單的使用Box2d的LibGDX游戲。 現在,它只是一艘在地圖上四處移動的船。 如果我使用body.setTransform()方法來更改飛船的位置,則可以使用鍵盤控件使飛船移動,但這顯然沒有利用Box2d的功能。 我想使用applyForce()方法控制玩家的飛船,但是無論我將力設置為多高或低,該方法由於某種原因都無法執行任何操作。 我還嘗試了applyLinearImpulse()setLinearVelocity() ,它們都具有相同的效果:什么都沒有。 通過日志記錄,我確認了我的船的速度實際上保持在恆定的0.0,而不僅僅是微小的變化。

以下是游戲循環和實體中的相關內容:

http://pastebin.com/bsA4fVPn

有問題的部分尤其是:

public void update(){
            this.applyIntendedMovement();
    }

    public void applyIntendedMovement(){
            if(this.isMovingUp){
                    this.body.applyForceToCenter(new Vector2(0,100).scl(this.SPEED_FACTOR), true);
            }
    }

為什么對applyForce()的調用什么都不做? 另外,我在創建播放器主體時顯式設置了密度,但是當我在任何給定時刻檢查播放器質量時,其值為0.0。 我知道這兩個問題很可能相關,但是我不知道該怎么辦。

gh,我真傻。 我意識到,我是我的bodyDef設置為動態我已經創建了身體之后 我只是重新排列了幾行代碼,它可以工作。 抱歉

暫無
暫無

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

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