.packファイルを作成し、スキンにロードします。 Imageクラスのdrawableとして設定でき、うまく動作します。しかしTable.setBackground
は何もしません。LibgdxテーブルsetBackgroundは何もしません
Drawable background = skin.getDrawable("tooltip_background");
tooltipGroup.setBackground(background);
なぜこのコードが機能しないのですか?
全コード:
tooltipGroup = new Table(skin);
tooltipGroup.setWidth(w/6);
Label.LabelStyle headerStyle = new Label.LabelStyle(headerFont, Color.GREEN);
Label headerLabel = new Label(effect.getName(), headerStyle);
headerLabel.setWidth(w/6);
headerLabel.setX(20);
headerLabel.setWrap(true);
headerLabel.setAlignment(Align.topLeft);
tooltipGroup.addActor(headerLabel);
Label.LabelStyle style = new Label.LabelStyle(font, Color.WHITE);
Label descriptionLabel = new Label(effect.getDescription(), style);
descriptionLabel.setWidth(w/6);
descriptionLabel.setWrap(true);
descriptionLabel.setAlignment(Align.topLeft);
descriptionLabel.setPosition(20, -descriptionLabel.getHeight());
tooltipGroup.addActor(descriptionLabel);
tooltipGroup.setPosition(mouseX, h - mouseY);
Drawable background = skin.getDrawable("tooltip_background");
tooltipGroup.setBackground(background);
stage.addActor(tooltipGroup);
私は何が間違っているかを見つけました。テーブルの幅と高さはinitで0です。そして...独自のサイズのアイテムをテーブルに追加するテーブルの幅と高さを変更しないでください。どうして?そして 'setWrap(true) 'を持つラベルが1行の高さだけを返すならば、どうすればそれを使うことができますか? –
テーブルを構築するための完全なコードを貼り付け、シーンに追加します。最小幅/高さを付けずに追加されたアクターは、自動的にシーンを塗りつぶさないので、最小幅/高さを設定するか、シーン全体を満たすように設定します。 – Bernd
@Berndはフルコードの質問をチェックします。 ...最小幅/高さを設定すると、テーブルが使用するよりもそれが使用されますか? OK。しかし、コンテンツの実際の幅と高さは、理論的に選択された最小値よりも顕著に大きい。 –