Libgdx更改图像滚动窗格

Libgdx更改图像滚动窗格,libgdx,Libgdx,我有一张有点和页码的桌子 BitmapFont fuente = new BitmapFont( Gdx.files.internal("data/font/arial.fnt"), false); fuente.setColor(Color.WHITE); LabelStyle estiloLabel = new LabelStyle(fuente, Color.WHITE); numeroPag

我有一张有点和页码的桌子

        BitmapFont fuente = new BitmapFont(
                Gdx.files.internal("data/font/arial.fnt"), false);
        fuente.setColor(Color.WHITE);

        LabelStyle estiloLabel = new LabelStyle(fuente, Color.WHITE);
        numeroPagina = new Label("1",estiloLabel);
        numeroPagina.setAlignment(Align.center);
        numeroPagina.setFontScale(dPantalla.escalaLetra(0.6f));
        contenedor.row().fillX();
        contenedor.add(numeroPagina);

        paginador = new Image[numeroDePaginas];

        for(int i=0;i<numeroDePaginas;i++)
        {
            if(i==0)
            paginador[i]=new Image(skin.getDrawable("pagina-selec"));
            else
            paginador[i]=new Image(skin.getDrawable("pagina-noselec"));

        }
        Table marcaPagina = new Table();
        //tablaEstrellas.defaults().pad(dPantalla.escalaDPI(5));
        for(Image a:paginador)
        {
            marcaPagina.add(a).width(dPantalla.escalaDPI(20)).height(dPantalla.escalaDPI(20)).pad(0,dPantalla.escalaDPI(15),dPantalla.escalaDPI(10),0);
        }
        contenedor.row();       
        contenedor.add(marcaPagina).fill();
BitmapFont-fuente=新的BitmapFont(
Gdx.files.internal(“data/font/arial.fnt”),false);
fuente.setColor(Color.WHITE);
LabelStyle estiloLabel=新的LabelStyle(颜色为fuente,白色);
数字标签=新标签(“1”,estiloLabel);
数字标记设置对齐(对齐中心);
数字音阶(0.6f);
contendor.row().fillX();
添加(数字和数字);
paginador=新图像[numeroDePaginas];
对于(int i=0;iauxPagina)
{
paginador[0]=新图像(skin.getDrawable(“pagina noselec”);//灰点
pagina++;
paginador[1]=新图像(skin.getDrawable(“pagina selec”);//黄点
}

否则如果(aux我认为问题在于,您在切换页面时使用的是新图像。
相反,您应该为页面/点(
Image[]
)存储2个
draawable
s(
selected
notSelected
)和一个
Image[]
)图像。切换页面时,您可以执行以下操作:

dots[currentPage].setDrawable(notSelected);
if (increment)      // Increment or decrement
    currentPage++;
else
    currentPage--;
 dots[currentPage].setDrawable(selected);
这应该行得通。注意,如果可以增加,您需要检查。

如果您不检查是否会出现
异常

我很高兴,我可以帮您^^
dots[currentPage].setDrawable(notSelected);
if (increment)      // Increment or decrement
    currentPage++;
else
    currentPage--;
 dots[currentPage].setDrawable(selected);