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);