【问题标题】:Libgdx drawing semi-transparent circle on pixmapLibgdx 在像素图上绘制半透明圆圈
【发布时间】:2015-01-03 18:09:07
【问题描述】:

我目前正在使用 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);
    }
}

如您所见,这段代码提供了一个具有半透明背景的操纵杆:

不过,这个背景有一些莫名其妙的线条不透明。有人知道这是什么原因吗?原以为可能与像素图的格式有关,但尝试了其他一些格式后,并没有太大改善。

【问题讨论】:

  • 我还注意到,当我只画一个矩形而不是圆形时,一切都很好。

标签: user-interface libgdx transparent touchpad


【解决方案1】:

我终于通过禁用像素图的混合解决了这个问题。

Pixmap.setBlending(Blending.None);

【讨论】:

    猜你喜欢
    • 2013-11-25
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多