簡體   English   中英

LibGdx物理學主編

[英]LibGdx Physics body editor

我正在開發一個與LibGdx的游戲。 我在游戲中使用了scene2d演員。 我身上有2支箭

private void creatBody() {
    BodyDef bd = new BodyDef();
    bd.position.set(getX(), getY());
    bd.type = BodyType.DynamicBody;
    FixtureDef fd = new FixtureDef();
    fd.density = 15f;
    fd.friction = 0.6f;
    fd.restitution = 0.02f;
    if (body != null)
        removeBodySafely(body);
    body = world.createBody(bd);
    body.setTransform(body.getWorldCenter(), MathUtils.degreesToRadians
            * getRotation());
    GameScreen.shapeLoader.attachFixture(body, type, fd, 1);
}

public void draw(SpriteBatch batch, float parentAlpha) {
    setRotation(MathUtils.radiansToDegrees * body.getAngle());
    setPosition(body.getPosition().x, body.getPosition().y);

    TextureRegion keyFrame = GameScreen.getAtlas("arrows").findRegion(type);
        batch.draw(keyFrame, getX(), getY(), 0, 0, getWidth(), getHeight(),
                1, 1, getRotation());
}

身體的圖片

在此輸入圖像描述

但是,當我將一個箭頭放在另一個箭頭上方時,它們重疊而不是碰撞。 從身體編輯器的描述我發現有一個紅色標記是參考點。

如何使箭頭碰撞?

我找到了答案

GameScreen.shapeLoader.attachFixture(body, type, fd, 90);

其中90是箭頭的寬度。

暫無
暫無

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

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