0
ここには2つの例がありますが、どちらもテーブルに2つの画像がありますが、サイズは異なります。テクスチャとその他のポリゴンを使用する例の唯一の違いです。ポリゴンを持つアクターがlibgdxで通常満たされないのはなぜですか?
あなたが最初の画像を見ることができるように満たされている:
テクスチャ x.pngは130x130で、y.pngは75x75
Image image1 = new Image(new TextureRegionDrawable(new TextureRegion(new Texture("y.png")))); Image image2 = new Image(new TextureRegionDrawable(new TextureRegion(new Texture("x.png")))); mainTable.setFillParent(true); mainTable.row(); mainTable.add(image1).uniform().fill(); mainTable.add(image2).uniform(); mainTable.pack();
が出力されます第2の1つのサイズにはなりますが、ベースではサイズが異なります。
ポリゴン
Image image1 = new Image(new PolygonRegionDrawable(new PolygonRegion(getSolidTexture(Color.YELLOW), new float[]{0, 0, 75, 75, 0, 75, 75, 0}, new short[]{0, 1, 2, 0, 3, 2}))); Image image2 = new Image(new PolygonRegionDrawable(new PolygonRegion(getSolidTexture(Color.YELLOW), new float[]{0, 0, 130, 130, 0, 130, 130, 0}, new short[]{0, 1, 2, 0, 3, 2}))); mainTable.setFillParent(true); mainTable.row(); mainTable.add(image1).uniform().fill(); mainTable.add(image2).uniform(); mainTable.pack();
public TextureRegion getSolidTexture(Color color) {
Pixmap p = new Pixmap(1, 1, RGBA8888);
p.setColor(color);
p.fill();
Texture t = new Texture(p);
return new TextureRegion(t);
}
ouputを:
ご覧のとおり、最初の画像は2番目の画像サイズには表示されません。
実際、ポリゴンの動作が同じではないのはなぜですか?