libgdx рисует полупрозрачный круг на пиксельной карте

В настоящее время я работаю над игрой для Android с использованием libgdx и хотел бы добавить джойстик в ее интерфейс. Для этого я использую встроенный класс тачпада. До сих пор я использовал внешние изображения для рендеринга фона и джойстика. Теперь я хотел бы динамически рисовать фон джойстика. Это позволило бы сделать фон джойстика полупрозрачным и динамически менять цвет фона.

Для этого я реализовал следующее:

public class Joystick{
    private Touchpad touchpad;
    private static TouchpadStyle touchpadStyle;
    private Skin touchpadSkin;

    public Joystick(GameWorld world, GuiComponent gui) {
        touchpadSkin = new Skin();
        touchpadSkin.add("touchKnob", new Texture("data/touchKnob.png"));

        touchpadStyle = new TouchpadStyle();
        touchpadStyle.knob = touchpadSkin.getDrawable("touchKnob");;


        Pixmap background = new Pixmap(200, 200, Format.RGBA8888);
        background.setColor(1, 1, 1, .6f);
        background.fillCircle(100, 100, 100);
        touchpadStyle.background = new TextureRegionDrawable(new TextureRegion(new Texture(background)));

        touchpad = new Touchpad(10, touchpadStyle);
        touchpad.setBounds(15, 15, 200, 200);

        gui.inputStage.addActor(touchpad);
    }
}

Как видите, этот код предоставляет джойстик с полупрозрачным фоном: Джойстик с полупрозрачным фоном

Однако на этом фоне есть какие-то необъяснимые непрозрачные линии. Кто-нибудь знает, что вызывает это? Я думал, что это может быть как-то связано с форматом растрового изображения, но после попытки с некоторыми другими форматами особых улучшений не было.


person JasperTack    schedule 03.01.2015    source источник
comment
Я также заметил, что когда я просто рисую прямоугольник вместо круга, все нормально.   -  person JasperTack    schedule 03.01.2015


Ответы (1)


Я, наконец, решил эту проблему, отключив смешивание растрового изображения.

Pixmap.setBlending(Blending.None);
person JasperTack    schedule 28.01.2015