Libgdx Scene2d基于TextureAtlas

时间:2018-03-10 07:34:29

标签: java libgdx scene2d

我试图创建一个按钮,按下时会按比例缩放。

        textureAtlas = assetManager.get("btn.txt", TextureAtlas.class);
        skin = new Skin(textureAtlas);
        btnStyle = new Button.ButtonStyle();
        btnStyle.up = howToBtn_skin.getDrawable("button");
        btnStyle.down = howToBtn_skin.getDrawable("button_pushed");
        myButton = new Button(btnStyle);
        howToBtn.setPosition((Constant.WIDTH / 2) - 41, (Constant.HEIGHT / 2 - 150));

enter image description here

"按钮" - 是较小的一个

" button_pushed" - 是较大的

按钮在单击时切换图像,但不会根据图像大小进行缩放。因此,当用户单击按钮时,看起来没有任何反应,因为按钮的大小保持不变。

1 个答案:

答案 0 :(得分:1)

按钮的大小保持不变(正常状态和按下状态),您需要一些UI交互触摸感觉。

三种选择。 1 st 和2 nd 属于类似背景。

  1. 获取两个按钮状态图像(button-upbutton-down),具有相同的尺寸但颜色值不同。像这样 -

    enter image description here

  2. 如果您想要相同的色调值,请将图像缩小为缩小状态按钮图像,但尺寸应相同。两个州的帆布尺寸应相同,并且您可以按中心缩小。

  3. 触摸按钮时自行缩放按钮。您还可以在按钮上添加Action,以提高效果。您已启用按钮转换功能。

    button.setTransform(true);
    button.setScale(0.5f);