我正在创建一个自定义libgdx组来显示卡片图像。它包含这些标签和图像。
我的第一张图片是纹理区域,它是组的实际大小。我现在需要使用局部坐标和套装名称的标签将第二个图像添加到左上角。这是我正在使用的卡片。
public class Card extends Group {
private Player player;
private AtlasRegion cardImage;
private Label lblCard;
public Card() {
super();
init();
}
@Override
public void draw(Batch batch, float alpha){
super.draw(batch, alpha);
batch.draw(cardImage, getX(), getY());
//lblName.draw()
lblCard.draw(batch, getOriginX() + 70..values I have used for this arent working so far);
}
@Override
public void act(float delta){
}
@Override
public void setSize(float width, float height) {
super.setSize(width, height);
}
private void init() {
cardImage = Assets.instance.cards.hearts;
// Add player name
lblName = new Label("H", Assets.instance.menu, "knul-medium", Color.BLACK);
}
}
我尝试使用getX()
和getY()
值但是当我在表格中绘制组时,只有cardImage
适合表格,而标签全部在表格中绘制屏幕。当我在另一个类中创建一个新的Card实例时,如何使用本地坐标在我的卡片内部绘制标签和其他纹理区域并显示为同一图像?