libgdx 动画标签文本颜色从透明到黑色

animate label text color from transparent to black in libgdx

我一直在尝试将标签的颜色从透明变为黑色。我收效甚微。标签在整个动画过程中保持完全透明。这是我使用的代码。由于其他 Actor 正常工作,舞台已经正确设置。

            Label.LabelStyle lsBy = new Label.LabelStyle(byFont, new Color(0,0,0,0));

            Label byLabel = new Label("text to animate",lsBy);
            ColorAction ca= new ColorAction();
            ca.setEndColor(new Color(0,0,0,1));
            ca.setDuration(0.8f);
            label.addAction(ca);

设置标签文本颜色动画的正确方法是什么?

有点混乱,但标签有两种颜色。一个是其 LabelStyle 中字体的颜色。另一个是它自己的颜色,所有 Actor 都有。这两种颜色相互相乘进行绘制。 ColorAction 只影响 actor 的颜色,不影响样式的颜色。

您需要将标签样式的颜色保留为白色,并将标签 actor 本身的颜色设置为透明。

        Label.LabelStyle lsBy = new Label.LabelStyle(byFont, Color.WHITE);

        Label byLabel = new Label("text to animate",lsBy);
        byLabel.setColor(Color.CLEAR);
        ColorAction ca= new ColorAction();
        ca.setEndColor(new Color(0,0,0,1));
        ca.setDuration(0.8f);
        label.addAction(ca);