请帮帮我。我试试:
actor.addAction(Actions.fadeOut(1.5f));
我得到: 我所有的舞台都在淡出。
所以,我的问题是为什么不仅淡出一个演员,我应用了fadeOut动作,而是我的所有舞台(或者至少是其他一些演员)?
我的渲染:
@Override
public void render(float delta) {
Gdx.gl.glClearColor(255, 255, 255, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.draw();
stage.act();
}
感谢您的回答。
答案 0 :(得分:4)
您自己的任何actor类都必须将自己的颜色应用于批处理。对于像BitmapFont和Sprite这样的东西,这是不必要的,它将彩色顶点直接传递给批处理,但任何调用batch.draw
的actor都需要首先传递颜色,即使它是Color.WHITE
,但通常你会想要将getColor()
传递给批次。
这是因为无法保证任何先前绘制的演员在批处理中留下了什么颜色。
另外,如果你的演员是团体成员并且你希望他们与父母一起消失,那么他们应该考虑父母的角色:
Color color = getColor();
batch.setColor(color.r, color.g, color.b, color.a * parentAlpha);
答案 1 :(得分:0)
确保您的演员的draw()实现不会改变批处理的颜色