2017-08-11 2 views
0

Peu importe ce que je fais, les étiquettes sont semi-transparentes. Les étiquettes à l'intérieur de la table (labelA,labelB,labelC) sont 0% transparents au début mais dès que vous définissez leur texte par labelA.setText("sometext"); ils deviennent à moitié transparents comme leur frère labelWarning. labelWarning est à moitié transparent tout le temps. J'ai essayé de l'ajouter à la scène seul sans groupe (stage.addActor(labelWarning);), changez c'est a par labelWarning.getColor().a=1; mais aucune différence! nous réjouissons de votre aidene peut pas empêcher libgdx scene2d/ui/Label d'être semi-transparent

Label.LabelStyle ls=new 
    Label.LabelStyle(screenGame.getFont(),Color.BROWN); 
    Label labelA=new Label("700 metre",ls); 
    Label labelB=new Label("700 metre",ls); 
    Label labelC=new Label("1500 metre",ls); 

    labelWarning=new Label("sd",ls); 
    labelWarning.setWrap(true); 
    labelWarning.setPosition(50,30); 
    labelWarning.setWidth(500); 
    labelWarning.setAlignment(Align.top); 

    tableEPS=new Table(); 
    //tableEPS.debug(); 

    tableEPS.row(); 
    tableEPS.add(epgrass).pad(10f); 
    tableEPS.add(epdesert).pad(10f); 
    tableEPS.add(epsnow).pad(10f); 
    tableEPS.row(); 
    tableEPS.add(labelA); 
    tableEPS.add(labelB); 
    tableEPS.add(labelC); 
    tableEPS.row(); 


    tableEPS.setFillParent(true); 
    tableEPS.pack(); 

    episodesGroup=new Group(); 
    episodesGroup.setSize(worldwidth,worldheight); 
    episodesGroup.addActor(imagebgclouds); 
    episodesGroup.addActor(backbutton); 
    episodesGroup.addActor(tableEPS); 
    episodesGroup.addActor(labelWarning); 

    stage=new Stage(screenGame.getViewport()); 

    stage.addActor(episodesGroup); 

Répondre

1

Cela se passerait-il si vous changez la couleur via le LabelStyle au lieu de l'étiquette elle-même. Comme ils partagent tous la même instance LabelStyle, la modification du style les affectera tous. Assurez-vous de changer la couleur ou l'alpha en appelant le label.setColor().

La couleur de l'étiquette est multipliée par la couleur du LabelStyle, donc si vous ne voulez pas jouer avec la teinte du style, utilisez label.setColor(1,1,1, alpha).

+0

ne fonctionnait pas, j'ai même ajouté 'labelWarning.setColor (16, 14, 119, 1)', avant et après 'labelWarning.setText (" sometext ");', a créé un LabelStyle différent pour 'labelWarning' , toujours même, semi-transparent :( – user2624687

+0

Les couleurs sont sur une échelle 0-1, pas 0-255 – Tenfour04

+0

je l'ai fait comme vous l'avez dit et encore n'a pas aidé.Mais il m'est arrivé de découvrir que les polices que je dessine par spriteBatch sont mais la couleur comme vous l'avez dit les rend opaques et je dois régler la couleur rgba après avoir réglé la couleur normale pour que cela se produise. 'batch.begin(); font.setColor (Color.WHITE); font.setColor (1,1,1,1.0f); font.draw (batch, "fps:" + (int) (1f/delta), 0,50); batch.end(); 'J'ai ajouté la ligne' police .setColor (1,1,1,1.0f); 'Sans cette ligne, ce texte fps est également à moitié transparent et' labelWarning' est toujours la même moitié transparente – user2624687