簡體   English   中英

將圖像繪制到Box2D實體

[英]Drawing an Image to a Box2D body

我可以得到一個簡單的答案,如何使圖像出現在box2d身上嗎? 我嘗試為圖像和物體制作一個x和y int,但是一旦物體移動,圖像就保持靜止。 如果您回答了,請解釋代碼。 如果您對我的完整源代碼感興趣,請在此處查看我的文章: http : //www.java-gaming.org/topics/libgdx-drawing-a-sprite-on-to-a-box2d-body/33894 /msg/319927/view.html#msg319927

這就是我一直在這樣做的方式。 由於物體的位置在其中心,但子畫面的位置在左下角,因此需要對子畫面應用width / 2和height / 2的偏移量。

public void drawSpriteForBody(Body body, Sprite sprite, SpriteBatch spriteBatch) {
    Vector2 offset = new Vector2(sprite.getWidth() / 2f, sprite.getHeight() / 2f);
    Vector2 position = body.getPosition().cpy().scl(Constants.PIXELS_PER_METER).sub(offset);
    float rotation = body.getAngle() * MathUtils.radiansToDegrees;
    sprite.setRotation(rotation);
    sprite.setPosition(position.x, position.y);

    sprite.draw(spriteBatch);
}

暫無
暫無

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

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