以正确的方式对齐图像中的标签文本LibGdx
我想把分数写在一个盒子图像里面 首先我把盒子放在这个地方,然后我用这样的标签在上面添加了分数线以正确的方式对齐图像中的标签文本LibGdx,libgdx,scene2d,Libgdx,Scene2d,我想把分数写在一个盒子图像里面 首先我把盒子放在这个地方,然后我用这样的标签在上面添加了分数线 private void drawScoreBoxes() { scoreImage = new Image(scoreTexture); stage.addActor(scoreImage); scoreImage.setPosition(UiConstants.BOX_POS_X,UiConstants.BOX_POS_Y2); } private void drawSc
private void drawScoreBoxes() {
scoreImage = new Image(scoreTexture);
stage.addActor(scoreImage);
scoreImage.setPosition(UiConstants.BOX_POS_X,UiConstants.BOX_POS_Y2);
}
private void drawScore() {
Label.LabelStyle scoreStyle = new Label.LabelStyle();// style
scoreStyle.font = game.font2;
scoreLabel2 = new Label(scoreController.getScoreString(), scoreStyle);// label
scoreLabel2.setPosition(scoreImage.getX()+scoreImage.getWidth()/2,scoreImage.getY());
}
分数线应该刚好出现在方框图像的中间。在这种情况下,当分数的位数增加时,字符串对齐是不合适的。
如何始终使it中心对齐 我找到了getLabelAlign()、setAlignment(alignment)等方法。 但是我不知道如何正确使用它。使用而不是图像
+标签
TextButton
是一个包含标签的按钮,您可以将图像
可绘制部分传递给显示为标签背景部分的按钮
button = new TextButton("Button1", textButtonStyle);
stage.addActor(button);
TextButton
使用字符串和按钮样式进行渲染,在本例中为TextButtonStyle
,它基本上是一个类,包含有关按钮的所有信息(字体、未按下时可绘制渲染、按下时可绘制渲染等) 使用而不是图像
+标签
TextButton
是一个包含标签的按钮,您可以将图像
可绘制部分传递给显示为标签背景部分的按钮
button = new TextButton("Button1", textButtonStyle);
stage.addActor(button);
TextButton
使用字符串和按钮样式进行渲染,在本例中为TextButtonStyle
,它基本上是一个类,包含有关按钮的所有信息(字体、未按下时可绘制渲染、按下时可绘制渲染等) 您有两个选择:
1.使用文本按钮:
Drawable scoreDrawable = new TextureRegionDrawable(new TextureRegion(scoreTexture));
TextButtonStyle textButtonStyle = new TextButtonStyle( scoreDrawable, scoreDrawable, scoreDrawable, font );
TextButton tb = new TextButton( scoreController.getScoreString() );
tb.setDisabled( true );
或2。设置标签边界并对齐文本:
LabelStyle labelStyle = new LabelStyle( font, Color.BLACK );
Label scoreLabel = new Label( scoreController.getScoreString(), labelStyle );
scoreLabel.setBounds( scoreImage.getX(), scoreImage.getY(), scoreImage.getWidth(), scoreImage.getHeight() );
scoreLabel.setAlignment( Align.center );
您有两个选择:
1.使用文本按钮:
Drawable scoreDrawable = new TextureRegionDrawable(new TextureRegion(scoreTexture));
TextButtonStyle textButtonStyle = new TextButtonStyle( scoreDrawable, scoreDrawable, scoreDrawable, font );
TextButton tb = new TextButton( scoreController.getScoreString() );
tb.setDisabled( true );
或2。设置标签边界并对齐文本:
LabelStyle labelStyle = new LabelStyle( font, Color.BLACK );
Label scoreLabel = new Label( scoreController.getScoreString(), labelStyle );
scoreLabel.setBounds( scoreImage.getX(), scoreImage.getY(), scoreImage.getWidth(), scoreImage.getHeight() );
scoreLabel.setAlignment( Align.center );